【发布时间】:2015-04-04 22:42:51
【问题描述】:
我正在尝试理解以下行为:
def test
puts "In Method"
end
test
#=> In Method
test {puts "In Block" }
#=> In Method
我的解释是 test 是一种方法,我将 {puts "In Block"} 作为参数传递给该方法。由于该方法不使用参数,因此它打印默认的"In Method"。对吗?
我们如何区分块调用和方法调用? test {puts "In Block"} 也可以被解释为一个块吗? yield 是执行代码块的唯一方法吗?
【问题讨论】:
-
标题看起来与问题无关。
-
我猜你已经编辑过了!谢谢。
-
我更正了标题中的语法错误,但保持原样。你应该纠正它。
标签: ruby codeblocks yield