Sto provando a ordinare una matrice con una miscela di interi e stringhe. Prendiamo ad esempio:Come ordinare un array di interi e stringhe?
a = ["a", "b", 5, "c", 4, "d", "a1", "a12", 3, 13, 2, "13a", "12a"]
ho provato:
a.sort do |x, y|
if x.class == y.class
x <=> y
else
x.class.to_s <=> y.class.to_s
end
end
che restituisce:
[2, 3, 4, 5, 13, "12a", "13a", "a", "a1", "a12", "b", "c", "d"]
Il risultato che voglio è:
[2, 3, 4, 5, "12a", 13, "13a", "a", "a1", "a12", "b", "c", "d"]
Può esserci più di un numero nelle stringhe, ad es. ' "A1B2C3"'? – Stefan
Che cosa è corretto? '[" a1 "," a12 "," a2 "]' o '[" a1 "," a2 "," a12 "]'? – Stefan
@Stefan Possibile avere più di un numero in una stringa. Quest'ultimo '[" a1 "," a2 "," a12 "]' –