Я пытаюсь сортировать массив со смесью ints и строк. Возьмем, к примеру:Как отсортировать массив целых чисел и строк?
a = ["a", "b", 5, "c", 4, "d", "a1", "a12", 3, 13, 2, "13a", "12a"]
Я пробовал:
a.sort do |x, y|
if x.class == y.class
x <=> y
else
x.class.to_s <=> y.class.to_s
end
end
Который возвращает:
[2, 3, 4, 5, 13, "12a", "13a", "a", "a1", "a12", "b", "c", "d"]
Результат я хочу это:
[2, 3, 4, 5, "12a", 13, "13a", "a", "a1", "a12", "b", "c", "d"]
Может ли быть несколько строк в ваших строках, например ' "A1B2C3"'? – Stefan
Что случилось? '[" a1 "," a12 "," a2 "]' или '[" a1 "," a2 "," a12 "]'? – Stefan
@Stefan Возможно иметь более одного номера в строке. Последняя «[a1», «a2», «a12»] ' –