ruby 中数组的用处很多,数组中的元素可以是数字、字符、哈希、数组等
a = [1,4,5,7,3,2,8]
a.sort_by do |p|
p
end
输出结果:[1, 2, 3, 4, 5, 7, 8]
a = [{:x=>3,:y=>2,:z=>1},{:x=>3,:y=>1,:z=>3},{:x=>1,:y=>3,:z=>2}]
a.sort_by do |p|
p[:x]
end
输出结果:[{:x=>1, :y=>3, :z=>2}, {:x=>3, :y=>1, :z=>3}, {:x=>3, :y=>2, :z=>1}]
a = [{:x=>3,:y=>2,:z=>1},{:x=>3,:y=>1,:z=>3},{:x=>1,:y=>3,:z=>2}]
a.sort_by do |p|
[p[:x],p[:z]]
end
输出结果:[ {:x => 1, :y =>3, :z => 2}, {:x => 3, :y =>2, :z => 1}, {:x => 3, :y => 1, :z => 3} ]
注:ruby 中如果使用 sort_by!方法,结果为改变原数组;若使用sort_by方法,结果为新生成数组。