return
ブロック、プロシージャ、ラムダで どのように機能するかを理解するのに多くの問題があります。
たとえば、次の場合、エラーをスローしbatman_ironman_proc
ながら、なぜ機能するのですか?batman_yield
def batman_ironman_proc
victor = Proc.new { return "Batman will win!" }
victor.call
"Iron Man will win!"
end
def batman_yield
yield
"Iron man will win!"
end
victor = Proc.new { return "Batman will win!" }
puts batman_ironman_proc
#batman_yield(&victor) === This code throws an error.