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