Ruby 初心者スレッド Part 59 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0705デフォルトの名無しさん
2017/02/23(木) 23:42:15.65ID:Zu/nS+/Aそんなに lambda とタイプするのが面倒なら、おまじないを唱えればいい
$ irb
>> module Kernel; alias :fn :lambda; end
=> nil
>> succ = fn { |x| x + 1 }
=> #<Proc:0x0000000109aaad98@(irb):2>
>> succ.call 2
=> 3
>>
JavaScript の function や Python の lambda が予約語であるのに対して、
Ruby の lambda は単なるメソッドでしかないから、こんなこともできる
ちなみに fn という単語は、Standard ML(SML) と呼ばれる関数型言語において
ラムダ式を構成するために使う予約語であり、同じML族の OCaml なら fun を使う
上の例ならば、SML だと「val succ = fn x => x + 1」と書く
■ このスレッドは過去ログ倉庫に格納されています