Ruby有很多条件结构,包括if
/ unless
,while
/ until
等。
来自C:{/ p>的while
块
while (condition) {
...
}
可以直接翻译成Ruby:
while condition
...
end
但是,我似乎无法在Ruby中为类似C的do ... while
块找到内置等效块,其中块内容至少执行一次:
do {
...
} while (condition);
有什么建议吗?
答案 0 :(得分:30)
...我能想到的最好的是loop
结构,最后有一个break
:
loop do
...
break unless condition
end
答案 1 :(得分:12)
你可以做到
i=1
begin
...
i+=1
end until 10==x
(你也可以将while子句添加到begin..end的末尾)
参见Flanagan的第128页/ Matz Ruby Prog'g Lang书:这可能会在1.8之后的版本中删除
答案 2 :(得分:6)
number=3
begin
puts number
number-=1
end while number>0
答案 3 :(得分:-3)
您可以使用
while condition
...
end