我正在练习红宝石。在其中一个练习中,它要求我尝试使用' while'循环打印数字1到50包含。 (向上计数) 我还有一个倒计时的代码。
i = 50
while i > 0 do
print i
i -= 1
end
无论如何,您可以将上面的代码计算在内吗?
由于
答案 0 :(得分:6)
尝试下面简单的Ruby Magics:)
(1..50).each { |n| puts n }
50.times { |n| puts n }
1.upto(50) { |n| print n }
这里的计数正在ruby库中自动进行,所以不要担心
答案 1 :(得分:1)
您正在倒计时,从i = 50
到1
。您必须从i = 1
转到50
,并在每个循环中增加i += 1
。
将其更改为:
i = 1
while i <= 50 do
print i
i += 1
end
答案 2 :(得分:1)
只是为了帮助您了解您输入的内容:
键入:i -= 1
时,与键入:i = i - 1
键入:i += 1
时,与键入:i = i + 1
然后,您应该很容易理解为什么,当您想要减少变量i时,首先在50处(在while循环开始之前)初始化i。 当你想增加变量i时,首先将i初始化为1或0。
答案 3 :(得分:1)
有点简化:
(1..50).each { |number| puts number }
答案 4 :(得分:1)
尝试
$i = 1
$num = 51
while $i < $num do
print("#$i" )
$i +=1
end
这会有所帮助..
并转到此处获取更多帮助 http://www.tutorialspoint.com/ruby/ruby_loops.htm