Dlaczego .all? zwraca true na pustej tablicy?

Używanie Ruby Chcę ocenić wszystkie elementy w tablicy i zwrócić true, jeśli wszystkie przejdą test warunkowy.

Mogę to zrobić używając np.array.all? { |value| value == 2 }

Więc:

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

Świetny!

Ale dlaczego pusta tablica przechodzi ten test?

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

Czy nie powinno to być fałszywe?

A jeśli potrzebuję go zwrócić false, jak mam zmodyfikować metodę?

questionAnswers(10)

yourAnswerToTheQuestion