def my_function(&block)
p block.call #1
# lambda{return "inside the block"}.call #2
end
p my_function{return "implicit block"}
为什么第1行给出LocalJumpError(它的意思是返回)?通过隐含块给出本地跳转错误
虽然根据我的第1行和第2行基本上是一样的东西。block
这里的变量是proc对象,所以是lambda。
他们不应该也行为相同。 2号线一旦注释掉似乎并没有给出错误
@Andre
def my_function(&block)
p block.call #1
# lambda{return "inside the block"}.call #2
end
def abc
p my_function{return "implicit block"}
end
abc
不应该工作的呢?
关于您的编辑:是的,它的工作原理。 –
为什么你首先需要这个? – mudasobwa