¿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?

Respuestas a la pregunta(10)

Su respuesta a la pregunta