【发布时间】:2017-01-28 02:45:35
【问题描述】:
下面的函数被设计成接受一个数组数组并返回其子数组的最大值。
def temp(list)
if list.all? { |i| i.kind_of?(Array) }
return(list.each { |j| j.max })
else
return(list)
end
end
所以给定一个这样的列表和函数调用:
x = [[1, 2], [3, 4]]
temp(x)
它应该返回 [2, 4],但它只返回原始数组 [[1, 2], [3, 4]]。我想知道这里出了什么问题。
谢谢
【问题讨论】:
-
如果他们对处理混合数组很酷,我们甚至可以将其进一步简化为
list.map { |each| [*each].max }。我认为他们可能是。
标签: ruby recursion arrayofarrays