Ruby 枚举sort_by()函数
enumerable 的 sort_by() 是Ruby中的一个内置方法,它使用一组通过给定块映射enum中的值而产生的键对enum进行排序。返回的结果不保证是稳定的,当比较结果相等时,它是不稳定的。当没有给出块时,它返回一个枚举器。
语法 : enu.sort_by { |obj| block }
参数 : 该函数接受一个块。
返回值 : 它返回一个数组。
例子 1 :
# Ruby program for sort_by method in Enumerable
# Initialize
enu = [10, 14, 22, 19]
# Prints
# sorts by addition of digits
enu.sort_by {|obj| obj%10 + (obj/10)%10}
输出:
[10, 22, 14, 19]
例2 :
# Ruby program for sort_by method in Enumerable
# Initialize
enu = [10, 14, 22, 19]
# Prints
enu.sort_by
输出:
Enumerator: [10, 14, 22, 19]:sort_by