Robert Klemme wrote: >> Thoughts? When do you use the 'yield' statement in code? > More generally when you don't need direct access to the block given and > when you don't need to forward it to another method call. I think yield > is faster than the block form also. But note that you can also forward blocks without using the &block syntax: irb(main):022:0> def five_times irb(main):023:1> 5.times { |index| yield index } irb(main):024:1> end => nil irb(main):025:0> five_times { |i| puts "Hello ##{i}" } Hello #0 Hello #1 Hello #2 Hello #3 Hello #4 I'd expect this to be slower than the &block syntax, but I have not benchmarked it. Maybe the &block syntax is also less clutter to look at and thus easier to understand.