Я хотел бы посчитать аргументы, содержащие числа в массиве.
array = ['Cat', '3Dog', 'Fish', 'Horse5'] => "There is two arguments containing numbers"
Вы можете получить,
array = ["Cat", "3Dog", "Fish", "Horse5"] array.count { |x| x =~ /\d/ } # => 2 # even another form can be used also array.count(&/\d/.method(:=~)) # => 2
Используя команду grep
array = ["Cat", "3Dog", "Fish", "Horse5"] 2.2.9 :021 > array.grep(/\d/) => ["3Dog", "Horse5"] 2.2.9 :022 > array.grep(/\d/).count => 2
Вы можете передать аргумент для подсчета, чтобы он сопоставлял слова с любым шаблоном.
array = ["Cat", "3Dog", "Fish", "Horse5"] puts array.count {|x| x.match /[0-9]/ } # this will output 2.