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


Ruby Array.sort用法及代碼示例


Array.sort 方法

在本文中,我們將研究 Array.sort 方法。你們一定認為該方法必須做一些與 Array 實例中的元素或對象的排序相關的事情。它並不像看起來那麽簡單。好吧,我們將在其餘內容中解決這個問題。我們將嘗試借助語法和演示程序代碼來理解它。

方法說明:

該方法是一個公共實例方法,是為 Ruby 庫中的 Array 類定義的。此方法的用法方式是在對調用該方法的 Array 進行排序後返回一個新 Array。如果您在沒有塊的情況下調用該方法,則排序將按升序完成。如果您希望按降序進行排序,那麽您應該在調用時將塊與方法一起傳遞。此方法不會對 self Array 中對象的實際排列產生任何影響,因為此方法屬於非破壞性方法的類別,其中方法創建的更改是暫時的或非永久性的。

用法:

    array_instance.sort -> new_array
    or
    array_instance.sort{|a,b| block}-> new_array

所需參數:

此方法不接受任何參數。相反,如果您想以不同的方式排序,則必須傳遞一個塊。

範例1:

=begin
  Ruby program to demonstrate sort method
=end

# array declaration
table = ["Subha","Sham","Raat","Vivek","Me","Amisha","Zain","Harsh","Bajwa"]

puts "Array sort implementation"
new_arr = table.sort
puts "Array after sorting:#{new_arr}"
puts "Original Array instance:#{table}"

輸出

Array sort implementation
Array after sorting:["Amisha", "Bajwa", "Harsh", "Me", "Raat", "Sham", "Subha", "Vivek", "Zain"]
Original Array instance:["Subha", "Sham", "Raat", "Vivek", "Me", "Amisha", "Zain", "Harsh", "Bajwa"]

說明:

在上麵的代碼中,您可以觀察到我們在 Array.sort 方法的幫助下對 Array 實例進行排序。從該方法返回的 Array 實例按升序排列。此方法不會對原始 Array 實例產生任何影響,因為此方法是非破壞性方法的示例之一。

範例2:

=begin
  Ruby program to demonstrate sort method
=end

# array declaration
table = ["Subha","Sham","Raat","Vivek","Me","Amisha","Zain","Harsh","Bajwa"]

puts "Array sort implementation"
new_arr = table.sort{|a,b| b<=>a}

puts "Array after sorting:#{new_arr}"
puts "Original Array instance:#{table}"

輸出

Array sort implementation
Array after sorting:["Zain", "Vivek", "Subha", "Sham", "Raat", "Me", "Harsh", "Bajwa", "Amisha"]
Original Array instance:["Subha", "Sham", "Raat", "Vivek", "Me", "Amisha", "Zain", "Harsh", "Bajwa"]

說明:

在上麵的代碼中,您可以觀察到我們也可以進行降序排序。這可以在塊和 <=> 運算符的幫助下完成。 <=> 運算符將在 a 小於 b 時返回 -1,當 a 大於 b 時返回 +1,當 a 和 b 相等時返回 0。此方法不會對原始 Array 實例產生任何影響,因為此方法是非破壞性方法的示例之一。



相關用法


注:本文由純淨天空篩選整理自 Array.sort Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。