📅  最后修改于: 2023-12-03 15:27:29.114000             🧑  作者: Mango
在 Ruby 的 Enumerable 模块中,min() 函数用于返回一个可枚举对象中的最小元素。
enumerable.min { |a, b| block }
enumerable.min(n) { |a, b| block }
enumerable.min_by { |obj| block }
enumerable.min_by(n) { |obj| block }
min() 方法返回可枚举对象中的最小元素。而 min_by() 方法则是根据块的逻辑返回最小元素。
arr = [1, 5, 2, 7, 3]
puts arr.min # 输出:1
puts arr.min(2) # 输出:1 2
puts arr.min_by { |x| x.to_s } # 输出:1
puts arr.min_by(2) { |x| x.to_s } # 输出:1 2
在上面的示例中,我们可以看到 min() 方法返回了数组 arr 中的最小值,而 min_by() 方法则使用了块将整数转换为字符串再进行比较,返回了最小的元素。同时,我们还可以使用 min() 方法中的参数 n 来返回最小的前 n 个元素。
min() 函数可用于任何可枚举对象(数组、哈希等),返回最小值。而 min_by() 方法则根据块的逻辑返回最小的元素。这两个方法经常使用于编写排序算法等程序中,是 Ruby 开发人员必须掌握的基本方法。