Ruby 'Range.last' не дает последнего значения. Зачем?

При использовании обозначения тройной точки в объекте Range Ruby, я получаю это:

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

Когда я использую «последний» метод, который я получаю:

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

Я бы ожидал 4

Это ошибка? Или я что-то не понимаю в концепции объекта Range?

Ответы на вопрос(2)

Ваш ответ на вопрос