strs = ['1.10.1.0','1.1.13.0','1.2.3.4','1.20.3.1','1.24.1.1','1.3.6.7','1.1.6.7','1.3.3.7', '0.0.0.1', '0.1.0.0'] puts strs.sort.join("\n") puts " - " String.class_eval(%Q{ def ver_to_i total = 0 self.split('.').reverse.each_with_index{|d,i| total += d.to_i * 1000 ** (i+1) } total end }) puts strs.sort{|a,b| a.ver_to_i <=> b.ver_to_i}.join("\n")п.с. ruby 1.9
понедельник, 26 мая 2008 г.
сортировка версий
есть множество строк:
Есть несколько множеств типа:
strs = ['1.10.1.0','1.1.13.0','1.2.3.4','1.20.3.1','1.24.1.1','1.3.6.7','1.1.6.7','1.3.3.7', '0.0.0.1', '0.1.0.0']
В разных множествах колличество чиселок, разделенных точками может различаться (2-5).
В одном множестве все строки с одинаковым колвом чиселок
все чиселки: 0 <= чиселко <= 9999
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий