我尝试创建一个名为“Sum_plus_one”的方法,该方法接受包含整数的数组参数方法应在向数组中的每个整数添加一个整数后返回它们的和。
例子:
和加一([1,2,3])
结果应该是:9
我的代码是这样的

def sum_plus_one(*nums)

     for num in nums
     num + 1
     end
     total = 0
     for num in nums
     total += num
     end
 return total
end

最佳答案

map/reduce在这里很方便:

def sum_plus_one(nums)
  nums.map(&:succ).reduce(:+)
end

编辑:
下面是使代码工作的一种方法:
def sum_plus_one(nums)
  nums.map! do |num|
    num + 1
  end

  total = 0
  for num in nums
    total += num
  end

  return total
end

关于ruby - 向数组的每个元素加1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21977075/

10-13 01:15