当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Ruby Array.sort用法及代码示例

本文简要介绍ruby语言中 Array.sort 的用法。

用法

sort → new_array
sort {|a, b| ... } → new_array

返回一个新数组,其元素来自 self ,已排序。

在没有块的情况下,使用运算符 <=> 比较元素(参见 Comparable ):

a = 'abcde'.split('').shuffle
a # => ["e", "b", "d", "a", "c"]
a1 = a.sort
a1 # => ["a", "b", "c", "d", "e"]

使用块,调用具有每个元素对的块;对于每个元素对 ab ,块应返回一个整数:

  • b 跟随 a 时为负数。

  • ab 相等时为零。

  • a 跟随 b 时为正。

例子:

a = 'abcde'.split('').shuffle
a # => ["e", "b", "d", "a", "c"]
a1 = a.sort {|a, b| a <=> b }
a1 # => ["a", "b", "c", "d", "e"]
a2 = a.sort {|a, b| b <=> a }
a2 # => ["e", "d", "c", "b", "a"]

当块返回零时,ab 的顺序是不确定的,并且可能不稳定:

a = 'abcde'.split('').shuffle
a # => ["e", "b", "d", "a", "c"]
a1 = a.sort {|a, b| 0 }
a1 # =>  ["c", "e", "b", "d", "a"]

相关: Enumerable#sort_by

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Array.sort。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。