Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、 生成された手続きオブジェクトはいくつかの場面で挙動が異なります。
Kernel.#lambda != Proc.new
Kernel.#proc は Proc.new と同じになります。
Kernel.#proc == Proc.new
で、
- http://docs.ruby-lang.org/ja/2.0.0/method/Kernel/m/lambda.html
- http://docs.ruby-lang.org/ja/2.0.0/method/Kernel/m/proc.html
Kernel.#lambda == Kernel.#proc
なん・・・だと・・・?