Сортировка числовых строк в рубине

У меня есть массив номеров версий строк, которые я хотел бы отсортировать, но не могу на всю жизнь заставить их сортировать так, как я хочу:

versions = [ "1.0.4", "1.0.6", "1.0.11", "1.1.9", "1.1.10", "1.0.16" ]

versions.sort_by {|v| [v.size]}
=> ["1.0.4", "1.0.6", "1.1.9", "1.0.11", "1.1.10", "1.0.16"]

Пытаясь добиться:

=> ["1.0.4", "1.0.6", "1.0.11", "1.0.16", "1.1.9", "1.1.10"]

Кажется, это как-то связано с лексикографически, но у меня возникают трудности при разработке правила сортировки, которое мне нужно применить.

Любая помощь или точка в правильном направлении будет принята с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос