Подтвердить что ты не робот

Ruby - проверить каждый элемент массива, получить один результат

Я хочу, чтобы однострочный объект возвращал true/false, который проверяет каждый элемент в массиве на предмет того, является ли он целым или нет. Поэтому, если какой-либо элемент в массиве не является Integer, он должен возвращать false, иначе true. Здесь моя попытка:

>> ([2,1,4].map {|x| (x.is_a? Integer)}).reduce {|x, result| x and result}
=> true
>> ([2,"a",4].map {|x| (x.is_a? Integer)}).reduce {|x, result| x and result}
=> false

Любые другие идеи, чтобы отделить его дальше?

Спасибо.

4b9b3361

Ответ 1

array.all?{ |x| x.is_a? Integer }

Ответ 2

ary.all?(&Integer.method(:===))