Почему .all? вернуть true в пустой массив?

Используя Ruby, я хочу оценить все элементы в массиве и вернуть true, если они все проходят условный тест.

Я могу сделать это, например, с помощьюarray.all? { |value| value == 2 }

Так:

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

Большой!

Но почему пустой массив проходит этот тест?

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

Разве это не должно возвращать ложь?

И если мне нужно вернуть false, как я должен изменить метод?

Ответы на вопрос(10)

Ваш ответ на вопрос