【发布时间】:2015-03-15 19:43:28
【问题描述】:
Ruby Koans 在 about_blocks.rb 中有如下练习:
def method_with_block_arguments
yield("Jim")
end
def test_blocks_can_take_arguments
method_with_block_arguments do |argument|
assert_equal __, argument
end
end
我知道答案是assert_equal "Jim", argument,但我很难理解发生了什么。具体来说:
-
argument或assert_equal...是块吗? - 在没有
yield的情况下method_with_block_arguments 返回“Jim”的情况下yield在做什么?
【问题讨论】:
-
@matt Dude,你写了一本旨在教授编程的书,这就是你的答案?到目前为止,我已经完成了所有的 koans,并且我有点理解块和产量,但是在这个练习中我很难把它们放在一起。如果你不能同情初学者试图融入新概念,请不要试图当老师。
-
@matt 朋友,我不是要求学习整个语言。我问的是如何在这个练习中应用特定的新概念。老实说,我不明白你的态度,尤其是因为我怀疑其他人觉得这个练习很有挑战性。无论如何,如果问题措辞不当并试图澄清它们,我很抱歉。