當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。