小编L.T*_*L.T的帖子

在Hash #fetch ruby​​中使用lambda作为默认值

我正在阅读自信的红宝石,我正在尝试如何定义可重用的过程.从给出的例子中,我写道:

DEFAULT_BLOCK = -> { 'block executed' }

answers = {}

answers.fetch(:x, &DEFAULT_BLOCK)
Run Code Online (Sandbox Code Playgroud)

我期待它返回,block executed因为x在Hash中找不到它,而是返回它wrong number of arguments (given 1, expected 0) (ArgumentError).问题是什么?我还没有给出一个论点.

ruby ruby-hash

7
推荐指数
1
解决办法
146
查看次数

标签 统计

ruby ×1

ruby-hash ×1