Ruby „Range.last” nie podaje ostatniej wartości. Czemu?

Kiedy używam notacji potrójnej kropki w obiekcie zakresu ruby, otrzymuję to:

(0...5).each{|n| p n}
0
1
2
3
4

Kiedy używam „ostatniej” metody, otrzymuję:

(0...5).last
 => 5 

Spodziewałbym się 4

Czy to błąd? Czy jest coś, czego nie rozumiem w kwestii pojęcia obiektu Range?

questionAnswers(2)

yourAnswerToTheQuestion