zetetic <tomascabeza / gmail.com> wrote: > 1.downto(1) {|i| puts i} > => 1 > > 1.downto(2) {|i| puts i} > => 1 > > Is this right? The block is always executed once, even when the > limits would suggest otherwise? 1.upto(0) does the same thing... That's not true. You probably mixed output in IRB as #upto and #downto return self (i.e. 1 in your case): >> 1.downto(1) {|i| puts "x"} x => 1 >> 1.downto(2) {|i| puts "x"} => 1 >> 1.upto(0) {|i| puts "x"} => 1 Kind regards robert