n = 0
m = 40
o = 0
while n < m
n = n + 1
end
while n = m
o = o + 1
n = 0
end
使用那段代码,最好的方法是什么,一旦它通过第二个循环,它将回到第一个???
欢迎任何帮助这位初学者的帮助。 :)
答案 0 :(得分:1)
你在找这样的东西吗?
n = 0
m = 40
o = 0
while n < m
n = n + 1
if (n == m) {
o = o + 1
n = 0
}
// as pointed out by Samir, you might want to put
// termination condition here, else it will loop infinitely
end
答案 1 :(得分:1)
不完全确定你给了我们足够的信息来解决这个问题。我不确定你要做什么。
在Ruby中使用像这样的东西是不寻常的。有很多更好的迭代方法。例如,如果您正在遍历数组,则可以执行以下操作:
my_array.each do |e|
# e is the next element of my_array
end
如果你走过一个字符串,你可以这样做:
my_string.each_char do |c|
# c is the next character in my_string
end
如果你真的想要一个计数器,你可以将each_with_index用于数组或字符串:
(1..my_string.size).each do |i|
c = my_string[i - 1]
# now c = next character, i = index
end
我承认,并非直接回答您的问题,但DJ&amp; DigitalRoss是正确的,你似乎正在努力建立嵌套循环。
答案 2 :(得分:0)
你在寻找这样的东西:
(0..2).each do |o|
(0..4).each do |n|
p [o, n]
end
end
根据需要调整循环边界......