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 实例产生任何影响,因为此方法是非破坏性方法的示例之一。
相关用法
- Ruby Array.sort_by用法及代码示例
- 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 Method with Example in Ruby。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。