Ruby Enumerable max_by()函数
enumerable 的 max_by() 是Ruby中一个内置的方法,它返回一个满足给定块条件的最大元素数组。当没有给定块时,它返回一个枚举器。
语法 : enu.max_by(n) {|obj|block}。
参数 :该函数需要两个参数n和block。N表示max_by最大元素的数量,block表示条件。
返回值 : 它返回一个最大元素或者一个包含N个最大元素的数组。
例子 1 :
# Ruby program for max_by method in Enumerable
# Initialize
a = ["gopal", "tunday", "geeks", "classes", "linux"]
# Prints
p a.max_by(2) {|obj| obj.length }
p a.max_by {|obj| obj.length }
输出:
["classes", "tunday"]
"classes"
例2 :
# Ruby program for max_by method in Enumerable
# Initialize
a = ["gopal", "tunday", "geeks", "classes", "linux"]
# Prints
p a.max_by(2)
p a.max_by
输出:
Enumerator: ["gopal", "tunday", "geeks", "classes", "linux"]:max_by(2)
Enumerator: ["gopal", "tunday", "geeks", "classes", "linux"]:max_by