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