Ruby 'Range.last' не дает последнего значения. Зачем?
При использовании обозначения тройной точки в объекте Range Ruby, я получаю это:
(0...5).each{|n| p n}
0
1
2
3
4
Когда я использую «последний» метод, который я получаю:
(0...5).last
=> 5
Я бы ожидал 4
Это ошибка? Или я что-то не понимаю в концепции объекта Range?