Gavin Kistner wrote: > This line: > p foo { ... } > is interpreted as > p( foo{ ... } ) > > While this line: > p foo do ... end > is interpreted as > p(foo) do ... end > > The lower precedence of do/end is causing it to be bound to the result > of p( foo ), or in your case p( array.sort ) Really interesting. I never realized that do/end had lower precedence than {}. Thanks for the help everyone! -- Posted via http://www.ruby-forum.com/.