In message "[ruby-talk:02093] Re: Array Gotchas"
    on 00/03/22, "Dat Nguyen" <thucdat / hotmail.com> writes:
>Following was my exercise:
>
>Ruby> ary = [1, 2, 3, 4, 5]
>Ruby> ary.each_index {|i| print i, "\n"}
>0
>1
>2
>3
>4
>[1, 2, 3, 4, 5]
>Ruby> (0..ary.size).each {|i| print i, "\n"}
>0
>1
>2
>3
>4
>5
>0..5

I'm guessing you used eval.rb.  This difference is not in Ruby but in
eval.rb; eval.rb reports the value of each statement.

Generally speaking, A statement returns a value in Ruby. 
Each last output line is the value of the statement, i.e.,

[1, 2, 3, 4, 5] 
   is the value of `ary.each_index {|i| print i, "\n"}'
0..5
   is the value of `(0..ary.size).each {|i| print i, "\n"}'

-- gotoken
PS. Should I use irb instead of eval.rb in User's guide?