我正在阅读自信的 ruby,并且正在尝试如何定义可重用的 proc。从给出的例子中,我写了这个:
DEFAULT_BLOCK = -> { 'block executed' }
answers = {}
answers.fetch(:x, &DEFAULT_BLOCK)
我期待它返回block executed
,因为x
在 Hash 中找不到它,而是返回了wrong number of arguments (given 1, expected 0) (ArgumentError)
。问题可能是什么?我没有给这个块一个论点。