在下面的代码中,我正在阅读闭包,但想知道如果函数中有多个 proc 对象会发生什么。所以当函数被调用时,只有最后一个 lambda 被调用。我在下面测试了这个。(互动:http ://labs.codecademy.com/BAZX#:workspace )
def n_times(thing)
lambda {|n| puts "first called"; thing * n}
lambda {|n| puts "second called"; thing - n}
end
test = n_times(2)
puts test.call(3)
为什么会跳过第一个 lambda?
puts n_times(3).call(2) => second called 1
此外,为什么以下无效?编辑:删除,愚蠢的错误。谢谢楼下:)