Разница между `while ... end` и` while ... do ... end` - PullRequest
0 голосов
/ 30 октября 2018

Какая разница между:

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

и

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

, откуда do добавляется к первому? Или есть разница?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Используется только для разделения действительного кода цикла.

Условный цикл while отделяется от кода зарезервированным словом do, перевод строки, обратная косая черта \ или точка с запятой;.

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

0 голосов
/ 30 октября 2018

Нет никакой разницы, когда вы включаете новую строку между объявлением цикла while и кодом. Итак:

while flag
    #code here
end

совпадает с:

while flag do
    #code here
end

Однако, когда вы включаете do, вы можете поместить код в ту же строку, как в:

while flag do myMethod() end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...