Ruby:Proc.new {'waffles'} vs proc {'waffles'}

时间:2011-01-17 06:28:02

标签: ruby syntax proc-object

在Ruby中,Proc.new { 'waffles' }proc { 'waffles' }之间是否存在任何差异?我发现很少提到第二种语法。

使用irb测试时,我没有发现任何明显的差异。是第一个的第二个语法糖吗?

1 个答案:

答案 0 :(得分:45)

来自Metaprogamming Ruby Page 113。

在Ruby 1.8中,内核#proc()实际上是Kernel#lambda()的同义词。由于程序员的强烈抗议,Ruby 1.9使proc()成为Proc.new()的同义词。