web-dev-qa-db-ja.com

Ruby文字列の配列を長さでソートするにはどうすればよいですか?

これを並べ替える方法:

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

これに?

arr = ["a","aa","aaa","aaaa","aaaaa"];
35
arr = arr.sort_by {|x| x.length}

または1.8.7以降:

arr = arr.sort_by(&:length)
70
sepp2k

sort を使用することもできます:

arr.sort{|x, y| x.length <=> y.length}
12

arr = arr.sort{|x,y| x.length - y.length}も機能します。

5
Terry Bu