在 Ruby 中,Proc.new { 'waffles' }
和 proc { 'waffles' }
之间有什么区别吗?我发现很少有人提到第二种语法。
使用 irb
进行测试,我没有发现任何明显的差异。第二个是第一个的语法糖吗?
最佳答案
来自 Metaprogamming Ruby 第 113 页。
在 Ruby 1.8 中,Kernel#proc() 实际上是 Kernel#lambda() 的同义词。由于程序员的强烈抗议,Ruby 1.9 将 proc() 改为 Proc.new() 的同义词。
关于Ruby:Proc.new { 'waffles' } 与 proc { 'waffles' },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710538/