【发布时间】:2013-03-11 20:54:34
【问题描述】:
我很难理解 return 如何在块、procs 和 lambdas 中工作。
例如,在以下情况下,为什么batman_ironman_proc 工作,而batman_yield 抛出错误?
def batman_ironman_proc
victor = Proc.new { return "Batman will win!" }
victor.call
"Iron Man will win!"
end
def batman_yield
yield
"Iron man will win!"
end
victor = Proc.new { return "Batman will win!" }
puts batman_ironman_proc
#batman_yield(&victor) === This code throws an error.
【问题讨论】:
-
我知道你正在从 codeacademy 学习这个。我也有同样的疑问。这是一个不错的入门教程,但你必须在谷歌上搜索很多才能理解教程。
标签: ruby lambda return block proc