在每个循环中填充数组后,为什么数组为空?

钥匙

学习Ruby并尝试在Coderbyte上解决问题。该代码应查找数组中数字之间的数字数目。因此[4,8,6]应返回2(需要5和7才能连续)。[5,10,15]应该返回8并[-2,10,4]应该返回10。

我的解决方案是获得一个数字与其下一个最大数字之间的差值,即减去它们之间的多少个数字。

当我p new_arr进入每个循环时,它具有正确的数组:[1,1]第一种情况,[4,4]第二种情况和[5,5]最后一种情况。但是当我退出每个循环时,该数组再次为空并new_arr.reduce(:+)返回nil。

我不明白为什么,因为我new_arreach循环之外定义我在这里缺少一些示波器问题吗?

def Consecutive(arr)

  arr.sort!
  num_of_nums = 0
  new_arr = []
  i = 0
  arr.each do
    return if i == arr.length - 1
    num_of_nums = (arr[i+1] - arr[i]) - 1
    new_arr << num_of_nums
    i+=1
    p new_arr
  end
  new_arr.reduce(:+)
end
jmccure

如果您不返回任何东西i == arr.length - 1

您可能要返回此值:

return new_arr.reduce(:+) if i == arr.length - 1

或使用break而不是return,因此您可以跳出最内层的循环。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

填充数组在循环中

来自分类Dev

为什么while循环后数组为空?

来自分类Dev

是否可以在foreach循环中填充数组

来自分类Dev

使用For循环填充数组

来自分类Dev

为什么数组为空

来自分类Dev

在循环中将fscanf保存到同一数组会导致空格填充数组

来自分类Dev

用空值填充数组

来自分类Dev

如何使用for in循环动态填充数组

来自分类Dev

用PHP中的for循环填充数组

来自分类Dev

for循环用数字填充数组

来自分类Dev

用JavaScript中的for循环填充数组

来自分类Dev

在PHP中使用for循环填充数组

来自分类Dev

Java for循环未正确填充数组

来自分类Dev

PHP从while循环填充数组

来自分类Dev

for循环用数字填充数组

来自分类Dev

Do-While循环填充数组

来自分类Dev

我可以使用tryParse输出参数在for循环中填充数组吗?

来自分类Dev

如何从JavaScript中的循环中使用整数填充数组

来自分类Dev

为什么可能通过空数组循环

来自分类Dev

对于每个循环:我们可以填充数组吗?

来自分类Dev

数组为空。无法从while循环中获取信息

来自分类Dev

为什么填充数组时猫鼬填充不起作用?

来自分类Dev

为什么不在 Java 中的未初始化数组上“为每个”循环

来自分类Dev

Fortran填充数组

来自分类Dev

填充数组的机制

来自分类Dev

异步填充数组

来自分类Dev

从文件填充数组

来自分类Dev

自动填充数组

来自分类Dev

Fortran填充数组