Ruby: Proc.new {'waffles'} против proc {'waffles'} - PullRequest
31 голосов
/ 17 января 2011

В Ruby есть ли различия между Proc.new { 'waffles' } и proc { 'waffles' }?Я нашел очень мало упоминаний о втором синтаксисе.

От тестирования с использованием irb я не обнаружил никаких очевидных отличийВторой синтаксический сахар для первого?

1 Ответ

45 голосов
/ 17 января 2011

Из Ruby Metaprogamming Страница 113.

В Ruby 1.8 Kernel # proc () фактически является синонимом для Kernel # lambda ().Из-за громкого протеста программистов Ruby 1.9 вместо этого сделал proc () синонимом для Proc.new ().

...