(In response to news:1107566961.943586.81760 / g14g2000cwa.googlegroups.com 
by William James)

> Shouldn't that be
> 
> ary[0...-1].each {|e| do_something(e) }
> do_something_else(ary.last)
> 
> or
> 
> ary[0..-2].each {|e| do_something(e) }
> do_something_else(ary.last)
> 
> ?

I would prefer this solution for its clarity of expression. 

kaspar

code manufacture - ruby lab
www.tua.ch/ruby