我不久前已经考虑过评估,但这个问题仍然困扰着我。我的想法是添加多维数组的所有元素,如下所示:[1,[2,3],4,[5,6,[7]]]]
并将它们添加为像1+2+3+4+5+6+7
一样的单行,而不能使用#flatten
。我得到了删除所有整数(如1和4)并将它们添加到自己的变量然后尝试减少(:+)第二级数组([2,3]
等),但我可以'弄清楚如何编写一个可以深入研究维度的循环,比如[7]
。如何做到这一点?
代码我到目前为止已经尝试过了
def multi_array_sum(arrays)
#need to add up all array elements
num = 0
arr = {}
arrays.each {|int| num = num + int if int.class == Fixnum; arrays.delete(int)}
array.map do |numz|
num = num + numz.reduce(:+)
end
end