【发布时间】:2013-03-17 15:42:07
【问题描述】:
在 Dave Thomas 与 Chad Fowler 和 Andy Hunt 合着的 Programming Ruby: The Pragmatic Programmers Guide 一书中,关于 Procs 的创建,有一个脚注指出:
“实际上还有第三个,proc,但它实际上已被弃用。”
我找不到这是哪条路。我知道创建Proc 的以下方法:
1
b = lambda { | msg | puts "msg: #{msg}" }
b.call("hi")
2
def create_block_object(&block)
block
end
b = create_block_object{ |msg| puts "msg: #{msg}" }
b.call("hello")
3
b = Proc.new { |msg| puts "msg: #{msg}"}
b.call("hey")
我想知道第四个方法,如果有人能给我答案,我会很高兴。
【问题讨论】:
-
你能准确引用书中的内容吗?
-
@fmendez 感谢您的回复。这是一本书的脚注
6. There’s actually a third, proc, but it is effectively deprecated.@sawa 非常感谢您的编辑 -
自 Ruby 1.9 起,数字 1 已被弃用,取而代之的是 davidrac 答案中的符号。
-
谢谢@sawa,现在很清楚了
-
@sawa:你有
lambda被弃用的来源吗?从 Black 的书中可以清楚地看出,Kernel#proc方法就是他的意思。