添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
sort → new_ary click to toggle source
sort { |a, b| block } → new_ary

Returns a new array created by sorting self .

Comparisons for the sort will be done using the <=> operator or using an optional code block.

The block must implement a comparison between a and b , and return -1 , when a follows b , 0 when a and b are equivalent, or + 1 if b follows a .

See also Enumerable#sort_by .

a = [ "d", "a", "e", "c", "b" ]
a.sort                    #=> ["a", "b", "c", "d", "e"]
a.sort { |x,y| y <=> x }  #=> ["e", "d", "c", "b", "a"]
a.sort { |x,y| x <=> Y }  #=> ["a", "b", "c", "d", "e"]
sort! → ary click to toggle source
sort! { |a, b| block } → ary

Sorts self in place.

Comparisons for the sort will be done using the <=> operator or using an optional code block.

The block must implement a comparison between a and b , and return -1 , when a follows b , 0 when a and b are equivalent, or + 1 if b follows a .

See also Enumerable#sort_by .

a = [ "d", "a", "e", "c", "b" ]
a.sort!                    #=> ["a", "b", "c", "d", "e"]
a.sort! { |x,y| y <=> x }  #=> ["e", "d", "c", "b", "a"]

参考链接:http://www.ruby-doc.org/core-2.0/Array.html#method-i-sort

3.sort和sort!的区别:

sort和sort!函数,默认都使用 <=>比较,他们的区别在于:
sort! 可能会改变原先的数组,所以加个感叹号提醒
sort 返回的是新数组,没对原先的数组进行修改
在ruby的SDK里,能看到很多加了感叹号的函数,都意味着对函数操作的对象进行了状态更改。