Ruby有丰富的条件结构,包括if
/ unless
,while
/ until
等.
while
来自C 的街区:
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