Ответ 1
От Metaprogamming Ruby Страница 113.
В Ruby 1.8, ядро # proc() на самом деле является синонимом Kernel # lambda(). Из-за громкого протеста со стороны программистов Ruby 1.9 сделал proc() синонимом для Proc.new() вместо этого.
В Ruby существуют ли различия между Proc.new { 'waffles' }
и proc { 'waffles' }
? Я нашел очень мало упоминаний о втором синтаксисе.
От тестирования с помощью irb
я не обнаружил никаких очевидных различий. Является ли второй синтаксический сахар первым?
От Metaprogamming Ruby Страница 113.
В Ruby 1.8, ядро # proc() на самом деле является синонимом Kernel # lambda(). Из-за громкого протеста со стороны программистов Ruby 1.9 сделал proc() синонимом для Proc.new() вместо этого.