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

标签 ruby syntax proc-object

在 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/

相关文章:

ruby - 如何使用类变量中定义的 lambda/Proc 中的实例变量?

ruby - 通过方法调用时如何将参数传递给proc?

c++ - void foo(int &x) -> ruby ?通过引用传递整数?

c# - 在 C# 中编写延迟加载属性的简洁方法

Ruby Lambda 与 Proc LocalJumpError

c++ - 将 ".f"附加到数字的目的是什么?

c# - 在 JSON 中表示子对象的正确语法是什么?

ruby-on-rails - 我需要了解 Ruby 才能学习 Ruby on Rails 吗?

ruby - 使用 Ruby 哈希键作为参数

ruby - 使用 Ruby 将字符串拆分为单词和标点符号