Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby中的循环(noob) n=0 m=40 o=0 而n_Ruby_Loops_While Loop - Fatal编程技术网

ruby中的循环(noob) n=0 m=40 o=0 而n

ruby中的循环(noob) n=0 m=40 o=0 而n,ruby,loops,while-loop,Ruby,Loops,While Loop,有了这段代码,什么是最好的方法,使它一旦通过第二个循环,就会回到第一个循环 欢迎对此初学者提供任何帮助。:) 你在找这样的东西吗 n = 0 m = 40 o = 0 while n < m n = n + 1 end while n = m o = o + 1 n = 0 end n=0 m=40 o=0 而n

有了这段代码,什么是最好的方法,使它一旦通过第二个循环,就会回到第一个循环


欢迎对此初学者提供任何帮助。:)

你在找这样的东西吗

n = 0
m = 40
o = 0
while n < m 
n = n + 1
end
while n = m 
o = o + 1 
n = 0 
end
n=0
m=40
o=0
而n
可能是嵌套循环?
你在找这样的东西吗:

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

根据您的喜好调整循环边界…

不完全确定您是否为我们提供了足够的信息来解决此问题。我不知道你想做什么

在Ruby中这样使用是不寻常的。有很多更好的迭代方法。例如,如果在阵列中漫游,可以执行以下操作:

(0..2).each do |o|
  (0..4).each do |n|
    p [o, n]
  end
end
my_array.each do |e|
   # e is the next element of my_array
end
如果正在穿过一根绳子,可以执行以下操作:

(0..2).each do |o|
  (0..4).each do |n|
    p [o, n]
  end
end
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

我承认,这不是对你问题的直接回答,但DJ&DigitalRoss是正确的,你似乎正在朝嵌套循环方向努力。

你的意思是,就像把第一个循环的代码放在第二个循环的后面一样?是的——减去复制和粘贴。你能解释一下你想做什么吗?(代码看起来很奇怪,有一个while循环,而不是依赖于m,但将n设置为0。似乎您希望将其分解为一个函数,并从两个位置调用它。您能说一下为什么要这样做,而不是如何尝试这样做吗?如果我们能够做到这一点,可能有一种Ruby方法可以消除混乱,让语言完成大部分工作知道目标。代码将无限循环。你确定这就是你想要的吗?