33

Ruby では、 と の間に違いはProc.new { 'waffles' }ありproc { 'waffles' }ますか? 2 番目の構文についての言及はほとんど見つかりませんでした。

を使用してテストしirbたところ、明らかな違いは見つかりませんでした。2 番目の構文糖衣は最初のものですか?

4

1 に答える 1

51

メタプログラミングRuby 113ページより。

Ruby 1.8 では、Kernel#proc() は実際には Kernel#lambda() の同義語です。プログラマーからの激しい抗議のため、Ruby 1.9 では代わりに proc() を Proc.new() のシノニムにしました。

于 2011-01-17T06:33:53.720 に答える