【发布时间】:2010-09-13 07:14:12
【问题描述】:
我正在使用此代码让用户输入名称,而程序将它们存储在一个数组中,直到他们输入一个空字符串(他们必须在每个名称后按 enter):
people = []
info = 'a' # must fill variable with something, otherwise loop won't execute
while not info.empty?
info = gets.chomp
people += [Person.new(info)] if not info.empty?
end
这段代码在 do ... while 循环中看起来会更好:
people = []
do
info = gets.chomp
people += [Person.new(info)] if not info.empty?
while not info.empty?
在这段代码中,我不必将信息分配给一些随机字符串。
不幸的是,Ruby 中似乎不存在这种类型的循环。有人可以提出更好的方法吗?
【问题讨论】:
-
我觉得普通的while循环看起来更好看,也更容易阅读。
-
@Jeremy Ruten 您是否有兴趣将已接受的答案更改为沉思伟的答案
loop do; ...; break if ...; end?