问题提示是:
下一个关键字可用于跳过循环中的某些步骤。 例如,如果我们 不想要打印偶数,我们 可写:
i = 20 loop do i -= 1 next if i % 2 == 0 print "#{i}" break if i <= 0 end
这实际上不会打印出偶数吗?我读上面的方法是,i = 20,它减少到19,if语句为false,所以没有任何东西被打印,循环再次循环。这次i = 18,if语句为真,18被打印。
但是,看,当你做练习时,上面的代码打印出19,17,15等等。这里发生了什么?是否在评估if语句后发生了减量?
提前致谢。
答案 0 :(得分:1)
如果声明为假,则不会打印任何内容
你为什么这么认为?当i
为19
时,if
- 语句为false
,因此不会跳过迭代,并执行下一行中的print
。当i
为18
时,if
- 语句为true
,因此会跳过next
次迭代而不执行print
下一行。