【发布时间】:2020-05-14 12:20:06
【问题描述】:
我正在探索 yield 关键字及其在 ruby 中的用法。虽然完全可以将一个块隐式传递给一个方法并通过 yield 调用相同的方法,但当我尝试将另一个块传递给 yielded 块时:
def test
yield { p 'yield2' }
end
test { |&b| p 'in yield1'; b.call }
ruby 抱怨语法错误:
yield.rb:5: syntax error, unexpected '}', expecting keyword_end
yield { p 'yield2' }
^
为什么这种对待与产量的区别以及为什么这被视为语法错误?
【问题讨论】:
-
我的 Ruby 还抱怨
unexpected '{'紧跟在yield之后 -
是的@Stefan 现在删除它
标签: ruby