Ruby 'Range.last' no da el último valor. ¿Por qué?
Cuando uso la notación de punto triple en un objeto de rango rubí, obtengo esto:
(0...5).each{|n| p n}
0
1
2
3
4
Cuando uso el método 'último' obtengo:
(0...5).last
=> 5
Habría esperado 4
¿Esto es un error? ¿O hay algo que no entiendo sobre el concepto de un objeto Range?