Ruby新手 - 在IRB中循环问题

时间:2011-04-15 16:39:03

标签: ruby

所以几天前我决定尝试学习Ruby,但实际上它已经很顺利了。我一直忙于在IRB中摆弄,直到我找到一个非常重要的程序来编码以测试我的知识。

然而,今天我遇到了一个关于While循环的意外问题,我希望你们都可以帮我解决这个问题:

irb(main):001:0> i = 0
=> 0
irb(main):002:0> while (i < 1000)
irb(main):003:1> i++
irb(main):004:1* end
SyntaxError: (irb):4: syntax error, unexpected keyword_end
        from C:/WINDOWS/Ruby/bin/irb:12:in `<main>'

为什么这不正常,因为我期待它?根据{{​​3}}我的结构是正确的,所以我在这里缺少什么?

我在Windows XP下运行Ruby 1.9.2,如果有任何帮助的话。

3 个答案:

答案 0 :(得分:12)

i++不是有效的红宝石。您需要i += 1

编辑: 请参阅Mladen关于解析器看到的内容的评论。

答案 1 :(得分:2)

Ruby没有C风格的增量(++)或减量(--)运算符。你想要这个:

i = 0
while(i < 1000)
  i = i + 1 # Or i += 1
end

答案 2 :(得分:2)

除非你的目的是专门理解while循环和整数加法/比较是如何工作的,否则你真正想要的是

1000.times do |i|
end