我可以通过函数的参数是这样的:块是否作为参数传递?
func 1, 2, 3
或者我可以用这样的括号:在我了解到像list.each
功能,我通过(不知道
func(1, 2, 3)
以后如果这是什么真的发生)一个块操作每个元素:
list.each {|x| puts x}
我假设这只是通过块作为参数的each
功能,但是这似乎并没有因为情况:
list.each({|x| puts x})
不起作用。
我意识到这一点时表示:
5.upto(9) {|x| puts x}
这没有任何意义可言,如果该块是一个简单的说法。
这是怎么回事吗?你可以指出我的任何资源来帮助解释这一点,也许还有其他一些并不明显的结构性事物?
您可能会发现这是一个有益的出发点:[http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/](http://www.robertsosinski 。com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas /) – Chris
这是一个专门为将块传递给函数而创建的特殊语法。对于每个函数调用,您可以在常规参数列表之外传递一个块。该块仍被追加到被调用函数的上下文中的参数列表中。 – meagar
@Matt - 由于您正在学习Ruby,请浏览:http://www.codecademy.com/tracks/ruby - 对于想学习Ruby语言的核心基础知识的人来说真的是非常好的资源 – David