Alex McHale wrote: > Are these idioms ["foo {...}" and "foo do ... end"] identical in all > but their syntax? Or is there an underlying difference to them? Mostly. There's only a small difference in how they bind to methods: > irb(main):001:0> def foo(*args, &block); puts "foo got block" if block; end > irb(main):002:0> def bar(*args, &block); puts "bar got block" if block; end > irb(main):003:0> foo bar {} > bar got block > irb(main):004:0> foo bar do end > foo got block Hope this helps. :) > Thanks! No problem. Regards, Florian Gross