Por que tudo? return true em um array vazio?

Usando Ruby Eu quero avaliar todos os itens em uma matriz e retornar true se todos passarem em um teste condicional.

Eu posso fazer isso usando por exemploarray.all? { |value| value == 2 }

Assim:

> array=[2,2]
> array.all? { |value| value == 2 }
=> true
> array=[2,3]
> array.all? { |value| value == 2 }
=> false

Ótimo!

Mas por que um array vazio passa nesse teste?

> array=[]
> array.all? { |value| value == 2 }
=> true

Isso não deveria retornar falso?

E se eu precisar retornar false, como devo modificar o método?

questionAnswers(10)

yourAnswerToTheQuestion