Я использую Ruby 2.4. Как получить уникальные элементы, без учета регистра, из массива, но с учетом элементов nil? Я thougth это решениеКак получить уникальные элементы, не учитывающие регистр в Ruby, и учет элементов nil?
data.map{|i| i || i.downcase}.uniq
, но даже после того, как все мое обучение я все еще получаю ошибку
NoMethodError: undefined method `downcase' for nil:NilClass
, когда один из элементов в массиве Teh равна нулю.
Это исключает исключение, которое я получал, но оно не возвращает массив элементов с более низким положением. Я все еще вижу элементы в их первоначальной форме. –
Да, да? Какие тестовые данные вы используете? Это правда, что это не устраняет ниль, хотя вы тоже этого хотели? Если вы хотите удалить nils, вы можете просто добавить '.compact' ко всему предмету – Glyoko
Нет, это сравнивает регистр без учета регистра для процесса' uniq', но фактически не модифицирует элементы. '['A', 'a'] .uniq (&: downcase)' может возвращать '['A']', даже если он превратил эту строку в '' a'' для целей сравнения. –