proc と Proc.new と lambda と ->(){} に違いはありますか。
またどのように使い分けた方がいいか、指針はありますか。