Question

In Ruby, are there any differences between Proc.new { 'waffles' } and proc { 'waffles' }? I have found very few mentions of the second syntax.

From testing using irb, I haven't found any obvious differences. Is the second syntactic sugar for the first?

Was it helpful?

Solution

From Metaprogamming Ruby Page 113.

In Ruby 1.8, Kernel#proc() is actually a synonym for Kernel#lambda(). Because of loud protest from programmers, Ruby 1.9 made proc() a synonym for Proc.new() instead.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top