【发布时间】:2017-02-25 08:28:30
【问题描述】:
只是一个简单的问题——我可能在这里忽略了一些东西。
以下方法正确输出前2个奇数:[1,3]
如果我没记错的话,我不应该希望数组的长度最终等于 n吗?据我了解,输出数组[1,3]的长度为2,也代表了前n-多赔率:2。
因此,第 6 行中的比较现在将是 而不是
但是,如果我这样做,first_n_odds(2) 现在将等于 [1,3,5],这给了我前 三个 的赔率。这是怎么回事?
谢谢!
def first_n_odds(n)
array = []
current_number = 0
while array.length < n
if current_number % 2 == 1
array << current_number
end
current_number += 1
end
return array
end
puts first_n_odds(2) # output is [1,3]
【问题讨论】:
-
是什么让你认为数组长度最终不是
n?
标签: arrays ruby loops while-loop