指 - bizzare way of calling Procs?
@BroiSatse非常感谢答案。另外需要澄清的一点 - 如果需要传递额外的参数(将代码添加为param_1 and _2
),该怎么办:
def callbacks(param_1, param_2, procs)
procs[:var_1].call(param_1)
puts "Proceed"
procs[:var_2].call(param_2)
end
callbacks(arg_1, arg_2, :var_1 => Proc.new {block_1},
:var_2 => Proc.new {block_2})
首先是什么?即将首先执行def callbacks
- 参数(arg_1, arg_2
)代替params(param_1, param_2
)或procs(:var_1, :var_2
)的内容?知道正确编码params行是很重要的 - def callbacks(param_1, param_2, procs)
。
提前感谢您的帮助。
答案 0 :(得分:1)
我无法看到你认为这可能会产生什么影响,但是从左到右评估参数,并且YARV中的参数按顺序被推入堆栈。但显然,它们都是在被调用方法开始执行之前传递的。