Как отсортировать массив строк Ruby по длине? - PullRequest
33 голосов
/ 03 июля 2010

Как мне отсортировать это:

arr = ["aaa","aa","aaaa","a","aaaaa"];

В это?

arr = ["a","aa","aaa","aaaa","aaaaa"];

Ответы [ 3 ]

67 голосов
/ 03 июля 2010
arr = arr.sort_by {|x| x.length}

Или в 1.8.7 +:

arr = arr.sort_by(&:length)
11 голосов
/ 28 февраля 2012

Вы также можете использовать sort:

arr.sort{|x, y| x.length <=> y.length}
5 голосов
/ 16 августа 2014

arr = arr.sort{|x,y| x.length - y.length} тоже работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...