我正在阅读Learn to Program的Ruby教程,我遇到了一个while循环问题。
这就是我想要做的事情:
while y_now % 4
y_now += 1
puts y_now % 4
end
gets
我正在使用gets
暂停执行,所以我可以看到输出。 (这是寻找闰年,顺便说一句)
无论如何,当y_now % 4 = 0
时,while循环继续,我不明白为什么,因为这与我以前的经历不同。
我不希望有人只修改我的代码,我真的很想知道为什么会这样。我显然刚刚开始使用Ruby,所以无论我得到什么帮助都非常感谢。
注意:这似乎与this question类似,但是使用整数而不是字符串。
答案 0 :(得分:4)
在Ruby中,只有nil
对象和一个特殊的false
对象是“false”,其他一切(包括整数0)都是“true”。您应该使用while (y_now % 4) != 0
。