本文简要介绍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"]
使用块,调用具有每个元素对的块;对于每个元素对 a
和 b
,块应返回一个整数:
-
当
b
跟随a
时为负数。 -
当
a
和b
相等时为零。 -
当
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"]
当块返回零时,a
和 b
的顺序是不确定的,并且可能不稳定:
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 Array.sort用法及代码示例
- Ruby Array.sort_by用法及代码示例
- Ruby Array.sort_by!用法及代码示例
- Ruby Array.sort!用法及代码示例
- Ruby Array.slice!用法及代码示例
- Ruby Array.shuffle!用法及代码示例
- Ruby Array.sample()用法及代码示例
- Ruby Array.select!用法及代码示例
- Ruby Array.slice()用法及代码示例
- Ruby Array.sum用法及代码示例
- Ruby Array.shift用法及代码示例
- Ruby Array.sample用法及代码示例
- Ruby Array.slice用法及代码示例
- Ruby Array.shuffle用法及代码示例
- Ruby Array.select用法及代码示例
- Ruby Array.push用法及代码示例
- Ruby Array.hash用法及代码示例
- Ruby Array.to_a用法及代码示例
- Ruby Array.to_h用法及代码示例
- Ruby Array.to_s用法及代码示例
- Ruby Array.array + other_array用法及代码示例
- Ruby Array.take()用法及代码示例
- Ruby Array.reject!用法及代码示例
- Ruby Array.flatten!用法及代码示例
- Ruby Array.reject用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Array.sort。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。