'While' 循环计数

'While' loop counting up

我正在练习ruby。在其中一个练习中,它要求我尝试使用 'while' 循环打印 1 到 50 之间的数字。 (计数) 我还有一个倒计时的代码。

    i = 50
    while i > 0 do
      print i
      i -= 1
    end

无论如何你可以让上面的代码向上计数吗?

谢谢

您正在倒数,从 i = 501。您必须从 i = 150,在每个循环中增加 i += 1

改成这样:

i = 1
while i <= 50 do
  print i
  i += 1
end

只是为了帮助您理解您输入的内容:

当您键入:i -= 1 时,它与键入:i = i - 1

的效果相同

当您键入:i += 1 时,它与键入:i = i + 1

的效果相同

然后你应该很容易理解为什么当你想递减你的变量 i 时,你首先将 i 初始化为 50(在 while 循环开始之前)。 当你想增加变量 i 时,你首先将 i 初始化为 1 或 0。

还有一点简化:

(1..50).each { |number| puts number }

尝试

    $i = 1
    $num = 51

    while $i < $num  do
       print("#$i" )
       $i +=1
    end

这会有所帮助..

并转到此处寻求更多帮助 http://www.tutorialspoint.com/ruby/ruby_loops.htm

尝试下面的简单 Ruby 魔法 :)

(1..50).each { |n| puts n }
50.times { |n| puts n }
1.upto(50) { |n| print n }

ruby 库中自动进行计数,不用担心