def メソッド名 プログラム本体 endメソッド名には引数を指定できる。 例えば、
def f(x) return x * x + 3 * x -5 end print f(3), "\n" print f(0), "\n" print f(3) + f(0), "\n"引数は、いくつでも定義できる。 ``return''は返り血を示す。 ``return''が無い場合は、最後の計算結果が返り値になるので、この例では ``return''が無くてもよい。
def enshu(r) k = 2 * 3.1415 * r return k end print enshu(3), "\n" print enshu(6), "\n"
上記に、円の面積を求めるプログラムも加えてみよう。
def enshu(r) k = 2 * 3.1415 * r return k end def menseki(r) p = 3.1415 * r * r return p end print "円周は、", enshu(3), "\n" print "面積は、", menseki(10), "\n"
1から10までの和を求めるプログラムは、 p = 0 for k in 1..10 do p = p + k end print p, "\n" であった。kの範囲を n までに改めて、"def" で定義すると、 def wa(n) p = 0 for k in 1..n do p = p + k end return p end print wa(10), "\n" print wa(100), "\n"などとなる。 最後の p の値が返り値になる。
参考プログラム p = 1 for k in 1..5 do p = p * k end print p, "\n"