我对传球有一个小问题。
def a_method(a, b)
a + yield(a, b)
end
这工作正常。
k = a_method(1, 2) do |x, y|
(x + y) * 3
end
puts k
但这行不通。
puts a_method(1, 2) do |x, y|
(x + y) * 3
end
# LocalJumpError: no block given (yield)
任何人都可以向我解释一下吗?
谢谢。示例取自 Paolo Perrotta 的 Metaprogramming Ruby。很棒的书。