写一个函数first_n_evens(n)的无限循环返回前N个偶数的数组

时间:2016-07-24 16:03:57

标签: arrays ruby if-statement while-loop

我无法弄清楚如何正确完成这个问题。

编写一个函数first_n_evens(n),它返回前N个偶数的数组,从0开始。

请帮助我理解我做错了什么。

非常感谢

def first_n_evens(n)
  array = []
  number = 0

  while array.count <= n
    if number % 2 == 0
      array.push(number)
      number += 1
    end
  end

return array

end

test = first_n_evens(5)
puts test

1 个答案:

答案 0 :(得分:1)

这一行:

number += 1

if区块内。如果number为偶数,则number会递增。如果number为奇数,则if条件未满足,且没有任何反应。

将该行移到if .. end区块之外,你应该没问题。