¿Por qué todo. devuelve true en una matriz vacía?
Usando Ruby, quiero evaluar todos los elementos de una matriz y devolver el valor verdadero si todos pasan una prueba condicional.
Puedo hacer esto usando, por ejemplo.array.all? { |value| value == 2 }
Asi que:
> array=[2,2]
> array.all? { |value| value == 2 }
=> true
> array=[2,3]
> array.all? { |value| value == 2 }
=> false
¡Genial!
Pero, ¿por qué una matriz vacía pasa esta prueba?
> array=[]
> array.all? { |value| value == 2 }
=> true
¿No debería esto ser falso?
Y si lo necesito para devolver falso, ¿cómo debo modificar el método?