Если разрешены пустые строки:
def contains_non_digit(array)
!array.select {|s| s =~ /^.*[^0-9].*$/}.empty?
end
Объяснение: этот фильтр фильтрует массив для всех строк, которые соответствуют регулярному выражению.Это регулярное выражение верно для строки, которая содержит хотя бы один нецифровый символ.Если результирующий массив пуст, массив не содержит нецифровых строк.Наконец, нам нужно отрицать результат, потому что мы хотим знать, что массив содержит содержит нецифровые строки.