¿Cómo maneja Ruby el acceso al rango de matriz?

ruby-1.8.7-p174 > [0,1][2..3]
 => [] 
ruby-1.8.7-p174 > [0,1][3..4]
 => nil

En una configuración de índice 0 donde el índice 2, 3 y 4 están fuera de los límites de la matriz de 2 elementos, ¿por qué devolverían valores diferentes?