配列をソート

p [1,2,2,3,4,6,1,3,7,8,9].sort
#=> [1, 1, 2, 2, 3, 3, 4, 6, 7, 8, 9]


# 指定の方法でソート
a = [['xx', 16], ['yy', 8], ['xx', 10], [ 'zz', 12]]
p a.sort
#=> [["xx", 10], ["xx", 16], ["yy", 8], ["zz", 12]]
p a.sort {|x, y| x[1] <=> y[1] }
#=> [["yy", 8], ["xx", 10], ["zz", 12], ["xx", 16]]

a = %w[ x12 x1 z24 y2 y13 z3]
p a.sort
#=> ["x1", "x12", "y13", "y2", "z24", "z3"]
p a.sort_by {|x| x =~ /\A([a-z]+)(\d+)/i; [$1, $2.to_i] }
#=> ["x1", "x12", "y2", "y13", "z3", "z24"]

sortは安定ではない.