Ruby Koans在about_blocks.rb下面的练习:红宝石Koans:块和参数(test_blocks_can_take_arguments)
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 “吉姆” 的说法,但我努力理解发生什么事。具体如下:
- 是
argument
或assert_equal...
该块? - 什么是
yield
在给出method_with_block_arguments返回“Jim”而没有yield
?
仔细阅读[_ The Well-Grounded Rubyist,Second Edition_](http://www.manning.com/black3/).. –
@matt Dude,你写了一本旨在教授编程的书,那是你的答案?到目前为止,我已经完成了所有的koans,并且我理解了块和屈服,但是我在这个练习中遇到了麻烦。如果你不能同情尝试整合新概念的初学者,请不要试图当老师。 – Mark
@matt朋友,我不是要求被教整个语言。我在问这个练习中如何应用特定的新概念。我真的不明白你的态度,特别是因为我怀疑其他人认为这种做法具有挑战性。无论如何,如果问题措辞不佳,并试图澄清问题,我很抱歉。 – Mark