【发布时间】:2016-11-20 17:49:36
【问题描述】:
def method1(&proc)
proc.call(1,2,3)
end
method1{ |x,y,z,a| puts a}
不抛出任何错误并输出nil。
为什么它不检查参数?其背后的逻辑是什么?
【问题讨论】:
-
Ruby documentation for
proc说“由 proc 生成的 Proc 对象忽略了额外的参数...它为缺少的参数提供 nil。”。这就是你的情况。