Return 一组数组中最大的数组

Return the largest array from a set of arrays

在 Ruby 中,编写接受一组数组作为参数并且 return 具有最多元素的数组的方法的最优雅方法是什么?

def largest_array(*arrays)
end

例如,给定:

a1 = [*0..9]
a2 = [*0..99]
a3 = [*0..49]
a4 = [*0..19]

largest_array(a1, a2, a3, a4) 应该 return a2.

请注意,该方法必须 return 对最大数组本身的引用,而不是大小。此外,在这种情况下,如果存在大小相同的数组,return编辑哪个数组并不重要。

使用Enumerable#max_by

def largest_array(*arrays)
  arrays.max_by &:size
end


a1 = [*0..9]
a2 = [*0..99]
a3 = [*0..49]
a4 = [*0..19]
largest_array(a1, a2, a3, a4) == a2  # => true