Как выбрать только аргументы, содержащие числа в массиве? - PullRequest
0 голосов
/ 11 января 2019

Я хотел бы посчитать аргументы, содержащие числа в массиве.

array = ['Cat', '3Dog', 'Fish', 'Horse5']
=> "There is two arguments containing numbers"

Ответы [ 3 ]

0 голосов
/ 11 января 2019

Вы можете получить,

array = ["Cat", "3Dog", "Fish", "Horse5"]
array.count { |x| x =~ /\d/ }
# => 2

# even another form can be used also
array.count(&/\d/.method(:=~))
# => 2
0 голосов
/ 11 января 2019

Используя команду grep

array = ["Cat", "3Dog", "Fish", "Horse5"]
2.2.9 :021 > array.grep(/\d/)
 => ["3Dog", "Horse5"] 
2.2.9 :022 > array.grep(/\d/).count
 => 2 
0 голосов
/ 11 января 2019

Вы можете передать аргумент для подсчета, чтобы он сопоставлял слова с любым шаблоном.

array = ["Cat", "3Dog", "Fish", "Horse5"]
puts array.count {|x| x.match /[0-9]/ } # this will output 2. 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...