Rubyで無名関数を定義する。(lambda, ->)

Rubyで無名関数を定義するには、lambda 、および「->」記号を使います。

関数の呼び出しにはcall を使います。

 

例1.lambda キーワードを使う。

foo = lambda {|a,b,c|
    p a,b,c
}
foo.call(2, 4, 6)

例2.-> (矢印)を使う

foo = ->(a,b,c){p a,b,c}
foo.call(2, 4, 6)

 

糖衣構文が増えて記号だらけになると検索エンジン等で調べずらくなるので、初心者には厳しいですね…

参考:手続きオブジェクトの挙動の詳細 (Ruby 2.5.0)

タイトルとURLをコピーしました