我发现.each do
很难坚持,所以我希望经常使用c for loop语法,这似乎不起作用,所以我尝试了一段时间,但仍然有错误。
我试过了。
i = 0
while i < SampleCount
samples[i] = amplitude
amplitude *= -1
i++
end
我在这里收到了关于最后陈述的投诉。
最佳答案
你的代码有几个问题。与其只是修正错误,我建议你最好从长远来看学习ruby方法-它将节省你以后的时间和精力。在这种情况下,
5.times do |i|
samples[i] = amplitude # assumes samples already exists and has 5 entries.
amplitude *= -1
end
如果你坚持保持类似的风格,你可以这样做:
samples = []
i = 0
while i < sample_count
samples << amplitude # add new item to array.
amplitude *= -1
i += 1 # you can't use ++.
end
注意,
SampleCount
的首字母大写,按照ruby惯例,意味着一个常量,我猜这不是你真正的意思。关于ruby - 理解C样式 ruby 循环的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1617398/