ruby学習メモ
配列展開メソッド呼び出し
アスタリスクをつけることにより、配列を展開してそれぞれを引数とすることが出来る
def five(a,b,c,d,e) "#{a} #{b} #{c} #{d} #{e}" end
five(1,2,3,4,5) => "1 2 3 4 5"
five(1,2,3, *['4','5']) => "1 2 3 4 5"
five(*(1..5).to_a) => "1 2 3 4 5"
lambda
anyfunc = lambda {|n| n * n} ((1..10).collect(&anyfunc).join(", ")) => "1, 4, 9, 16, 25, 36, 49, 64, 81, 100"
lambda
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します(Proc.newと同じです)。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロックを手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなしで呼ばれると ArgumentError 例外が発生します。
def hashparam(name, params) "#{name} params=#{params}" end hashparam( "test", { :param1=>"value1", :param2=>"value2" }) => "test params=param1value1param2value2"