`while ... end`和`while ... do ... end`之间的区别

时间:2018-10-29 22:53:23

标签: ruby syntax

之间有什么区别

x = 1
while x < 5 do
  x += 1
  print x
end

和:

x = 1
while x < 5
  x += 1
  print x
end

由此do被添加到第一个?或者,有区别吗?

2 个答案:

答案 0 :(得分:4)

在while循环声明和代码之间包括换行符没有什么区别。所以:

while flag
    #code here
end

与以下相同:

while flag do
    #code here
end

但是,当您包含do时,可以将代码放在同一行,如下所示:

while flag do myMethod() end

答案 1 :(得分:3)

它仅用于分隔实际的循环代码。

  

while循环的条件通过保留字与代码分开   换行,反斜杠\或分号;。

https://www.tutorialspoint.com/ruby/ruby_loops.htm