сортировать числа в ruby - PullRequest
       5

сортировать числа в ruby

0 голосов
/ 10 апреля 2020

Я пытаюсь отсортировать приведенный ниже код, не в состоянии

@image_tags_cache['imagetags'].each do |tag|
puts #{tag}

Он печатает следующее

57
224_90_345.09.1.0
55
124_90_345.09.1.0

Но когда я пытаюсь отсортировать, я получаю ошибки

@image_tags_cache['imagetags'].sort.each do |tag|

ArgumentError - не удалось сравнить NilClass с String:

@image_tags_cache['imagetags'].to_i.sort.each do |tag|

NoMethodError - неопределенный метод `to_i 'для # Вы имели в виду? to_s to_a to_h:

@image_tags_cache['imagetags'].to_s.sort.each do |tag|

NoMethodError - неопределенный метод `sort 'для #String: 0x00007f993c0c1c50>:

1 Ответ

1 голос
/ 10 апреля 2020

Кажется, что @image_tags_cache['imagetags'] включает nil значения. Вызов to_i может не иметь смысла, потому что он переведет nil в 0 и что значения 0 также будут напечатаны.

Я предлагаю вместо этого удалить значения nil, вызвав compact сначала в массиве:

@image_tags_cache['imagetags'].compact.sort.each do |tag|
  puts tag
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...