Чтобы удалить nilи пустые элементы из массива Ruby, вы можете использовать несколько методов. Вот несколько примеров:
Метод
compact: этот метод удаляет элементыnilиз массива.
array = [1, nil, 2, nil, 3, nil]
array.compact!
puts array.inspect
# Output: [1, 2, 3]
-
Метод
reject: этот метод позволяет удалять элементы из массива на основе условия. В этом случае вы можете использовать его для удаления какnil, так и пустых элементов.
array = [1, nil, 2, '', 3, '']
array.reject! { |element| element.nil? || element.empty? }
puts array.inspect
# Output: [1, 2, 3]
-
Метод
delete: этот метод удаляет указанные элементы из массива. Вы можете использовать его для явного удаленияnilи пустых элементов.
array = [1, nil, 2, '', 3, '']
array.delete(nil)
array.delete('')
puts array.inspect
# Output: [1, 2, 3]
-
Комбинация
compact!иreject!: если вы хотите удалить какnil, так и пустые элементы за один раз, вы можете связатьnilв цепочкуcompact!иreject!вместе.
array = [1, nil, 2, '', 3, '']
array.compact!.reject!(&:empty?)
puts array.inspect
# Output: [1, 2, 3]