For the record, you should have a read of these feature requests:

http://bugs.ruby-lang.org/issues/6721 (exactly this feature, in a 
round-about way)

http://bugs.ruby-lang.org/issues/6373 (slightly related)

You can also do this trick using #tap:

  irb(main):001:0> 1.tap{|i| i*2 } * 3
  => 3
  irb(main):002:0> 1.tap{|i| break i*2 } * 3
  => 6

-- 
Posted via http://www.ruby-forum.com/.