在一个方法中,lambda被call之后会返回都方法本身,而proc被call之后就会直接返回
def batman_ironman_proc
victor = Proc.new { return "Batman will win!" }
victor.call
"Iron Man will win!"
end
puts batman_ironman_proc
def batman_ironman_lambda
victor = lambda { return "Batman will win!" }
victor.call
"Iron Man will win!"
end
puts batman_ironman_lambda
运行的结果是
Batman will win!
Iron Man will win!
==> nil
本文通过一个具体的Ruby示例,展示了lambda和proc在调用后的行为差异:lambda被call后会返回方法本身,而proc则直接返回指定值。

被折叠的 条评论
为什么被折叠?



