あらかじめ決められた(複雑な)処理を行なってくれるものを メソッドという。メソッドはRuby言語にあらかじめ備わっているもの もあるし、(自分を含めた)誰かが作るものもある。
最初のプログラムによく出てきた printf もメソッド
のひとつである。メソッドを呼び出すときは
何に対して.どうする(必要な情報)
という形にする(ピリオドに注目)。
「どうする」の部分がメソッド名(たとえば
printf)に相当する。「何に対して.」と「必要な情報」は
必要ないメソッドもある。
メソッド名の直後に与える「必要な情報」のことを 引数(ひきすう)という。
何かを入力して結果を出力するプログラムを作るために最低限 必要なメソッドを以下に示す。
場所.gets - 文字列の入力
      指定された場所から文字列を読み込んでその値を返す。
      「場所.」を省略するとRubyプログラム起動時に
      与えたファイルから読み込む。起動時にファイルを与えない
      場合は標準入力から読み込む(次講:
      getsへのデータの与え方で詳説)。
      文字列の末尾は必ず改行文字が入る。改行文字は
      "\n" で表す。
      使用例:
foo = STDIN.gets
上の例は、標準入力(次講で説明)から読み込んだ文字列をfoo
      変数に代入している。
文字列.chomp
      文字列の末尾が改行文字('\n')
      である場合にそれを切り取る。改行文字でなければなにもしない。
      使用例:
line = gets.chomp
上の例は、標準入力から1行読み込んで得た文字列の
      末尾から改行文字を除去した文字列を作成し、line
      変数に代入している。
chompは、元の文字列のコピーを作って
      そこから末尾の改行文字をとったものを返す。chomp と
      ほぼ同じメソッドにchomp!がある。
      chomp! は、元の文字列のコピーを取らず直接改行をはぎ取って
      その結果の文字列を返す。
文字列.to_i
      文字列 を整数に変換した値を返す。
      使用例:
hoge = "123" x = hoge.to_i
文字列 "123" をそれに対応する数値に変換した結果
      123を返し、xに代入している。
gehogeho = gets k = gehogeho.to_i
標準入力から読んだ文字列をそれに対応する正数に変換し、 kに代入している。
accum.rbのプログラムの各行の働きの
説明を付けたのが以下のリストである。
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-
sum = 0                 # sum変数を0とする
while true              # 対応するendまでをひたすら繰り返す
  STDERR.print "足したい数(終了は q): "
  line = gets.chomp     # 数値を入力させ line 変数に代入
  if line == "q" then   # 入力したものが "q" ならば…
    break               # whileループを抜ける
  end                   # ifでの場合分けはここで終わり
  sum += line.to_i      # lineを整数に直したものを sum に加算
  printf("これまでの合計は %d です\n", sum)
end                     # whileに対応するend
printf("合計は %d です\n", sum)
各行にある#記号より後ろの部分がその行で行なっ
ている内容の説明文である。あらかじめ予想したものと比べ、個々のメソッドの
役割を再確認しよう。
なお、#記号以降の部分をコメントという。プログラムの
実行に影響を与えないので自由な文を書くことができる。
分かりやすい注釈を入れながらプログラムを作る習慣を付けよう。