Есть ли способ удаления отрицательных значений из массива? - PullRequest
0 голосов
/ 08 апреля 2020

Если у меня есть что-то вроде:

numbers = [2, 88, 0.5, -23.55, 0, -45000]

Я хотел бы вернуть

[2, 88, 0.5, 0]

Ответы [ 2 ]

3 голосов
/ 08 апреля 2020

Использовать выбрать или отклонить

numbers.select { |number| number >= 0 }

или

numbers.reject(&:negative?)
0 голосов
/ 08 апреля 2020

Вы можете использовать могущественный (но часто упускаемый из виду и недооцененный) Enumerable # grep :

numbers.grep 0..Float::INFINITY
  #=> [2, 88, 0.5, 0] 

или

numbers.grep 0..1/0.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...