I think I understand what the Proc.new does, it returns Batman only because it exits the calling method.
But for the lambda, since the victor is called, why doesn't if first return the Batman statement, and then continue on in the calling method, which then outputs Iron Man will win?
Is it because the Iron Man statement is not explicitly defined with a return, hence the whole calling method just returns the last statement (Iron Man will win)?
Can someone please explain this a bit clearer for me. Thanks!