我有方法
8.8.8.8
这在第3行失败,并显示错误
ArgumentError:缺少块:用
def self.fetch(key, &block) begin Rails.cache.fetch(key, block) rescue Redis::CommandError => e raise unless e.message == "OOM command not allowed when used memory > 'maxmemory'." Utils.log_exception ex yield end end
调用Cache#fetch
需要一个块。
我不确定像这样传递参数是否是正确的方法,但是我看不到其他方法。
将包含块的变量传递给方法的正确方法是什么?
答案 0 :(得分:3)
参数列表中的&
和号一元前缀运算符用于“展开” Proc
的实例,就像它作为一个块传递给方法一样,就像{{1} }参数列表中的&符号用于将作为参数传递的块“汇总”到&
的实例中:
Proc