Array.sort_by 方法
在本文中,我們將研究 Array.sort_by 方法。你們一定認為該方法必須做一些與 Array 實例中的元素或對象的排序相關的事情。它並不像看起來那麽簡單。好吧,我們將在其餘內容中解決這個問題。我們將嘗試借助語法和演示程序代碼來理解它。
方法說明:
此方法是一個公共實例方法,是為 Ruby 庫中的 Array 類定義的。此方法的用法方式是在對調用該方法的 Array 進行排序後返回一個新 Array。此方法需要某些參數,在此基礎上進行排序。您必須在塊內說明該標準。如果您在沒有塊的情況下調用此方法,則該方法將返回一個枚舉數。此方法不會對 self Array 中對象的實際排列產生影響,因為此方法屬於非破壞性方法的類別,其中方法創建的更改是暫時的或非永久性的。
用法:
array_instance.sort_by -> Enumerator or array_instance.sort_by{|object| block}-> new_array
所需參數:
此方法不接受任何參數。相反,如果您想根據某些標準進行排序,則必須傳遞一個塊。
範例1:
=begin
Ruby program to demonstrate sort_by method
=end
# array declaration
table = ["Subha","Sham","Raat","Vivek","Me","Amisha","Zain","Harsh","Bajwa"]
puts "Array sort_by implementation"
new_arr = table.sort_by{|string| string.size}
puts "Array after sorting:#{new_arr}"
puts "Original Array instance:#{table}"
輸出
Array sort_by implementation
Array after sorting:["Me", "Sham", "Raat", "Zain", "Subha", "Vivek", "Harsh", "Bajwa", "Amisha"]
Original Array instance:["Subha", "Sham", "Raat", "Vivek", "Me", "Amisha", "Zain", "Harsh", "Bajwa"]
說明:
在上麵的代碼中,您可以觀察到我們在 Array.sort_by 方法的幫助下對 Array 實例進行排序。我們正在根據其長度或大小對 Array 對象進行排序。您可以看到對象 "me" 的長度最小,這就是為什麽它是新數組的第一個元素。此方法不會對原始 Array 實例產生影響,因為此方法是非破壞性方法的示例之一。
範例2:
=begin
Ruby program to demonstrate sort_by method
=end
# array declaration
table = ["Subha","Sham","Raat","Vivek","Me","Amisha","Zain","Harsh","Bajwa"]
puts "Array sort_by implementation"
new_arr = table.sort_by
puts "Array after sorting:#{new_arr}"
puts "Original Array instance:#{table}"
輸出
Array sort_by implementation
Array after sorting:#<Enumerator:0x000055dabc680870>
Original Array instance:["Subha", "Sham", "Raat", "Vivek", "Me", "Amisha", "Zain", "Harsh", "Bajwa"]
說明:
在上麵的輸出中,您可以注意到該方法在沒有塊的情況下被調用時返回了一個枚舉器。
相關用法
- Ruby Array.sort用法及代碼示例
- Ruby Array.shift用法及代碼示例
- Ruby Array.slice()用法及代碼示例
- Ruby Array.shuffle用法及代碼示例
- Ruby Array.select用法及代碼示例
- Ruby Array.sample()用法及代碼示例
- Ruby Array.reject用法及代碼示例
- Ruby Array.repeated_permutation()用法及代碼示例
- Ruby Array.index()用法及代碼示例
- Ruby Array.pack()用法及代碼示例
- Ruby Array.rassoc(obj)用法及代碼示例
- Ruby Array.values_at()用法及代碼示例
- Ruby Array.each用法及代碼示例
- Ruby Array.unshift()用法及代碼示例
- Ruby Array.reverse用法及代碼示例
- Ruby Array.rotate()用法及代碼示例
- Ruby Array.repeated_combination()用法及代碼示例
- Ruby Array.replace()用法及代碼示例
- Ruby Array.drop_while用法及代碼示例
- Ruby Array.assoc(obj)用法及代碼示例
注:本文由純淨天空篩選整理自 Array.sort_by Method with Example in Ruby。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。