Ruby有很多条件结构,包括 if / ,除非 while / ,直到等。

来自C:

while
while (condition) {
    ...
}

可以直接翻译成Ruby:

while condition 
    ...
end

但是,我似乎无法在Ruby中找到内置等效的类C代码 do ... while 块,其中块内容为至少执行一次:

do { 
    ... 
} while (condition);

有什么建议吗?

有帮助吗?

解决方案

...我能想到的最好的是 loop 结构,最后带有 break

loop do
    ...
    break unless condition
end

其他提示

你可以做到

i=1
begin
  ...
  i+=1 
end until 10==x

(你也可以将while子句添加到begin..end的末尾)

参见Flanagan的第128页/ Matz Ruby Prog'g Lang书:这可能会在1.8之后的版本中删除

number=3
begin
 puts  number
 number-=1
end while number>0

您可以使用

while condition
  ...
end
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top