我使用此代码让用户输入名称,而程序将其存储在数组中,直到用户输入空字符串(每个名称后必须按enter键):
人=[]
info='a'#必须用某些东西填充变量,否则循环将不会执行
而不是info.empty?
info=get.chomp
人员+=[人员新建(信息)]如果不是信息为空?
终止
这段代码在do中看起来会更好。。。while循环:
人=[]
做
info=get.chomp
人员+=[人员新建(信息)]如果不是信息为空?
而不是info.empty?
在这段代码中,我不必将信息分配给某个随机字符串
不幸的是,这种类型的循环在Ruby中似乎并不存在。有人能提出更好的方法吗
小心:
begin<;代码>;结束时<;条件>被Ruby的作者Matz拒绝。相反,他建议使用内核#循环,例如
循环执行
#这里有一些代码
如果<;条件>;
终止
这是2005年11月23日的一封电子邮件,Matz表示:
|>;请不要用它。我很后悔这个功能,我想
|&燃气轮机;如果可能的话,在将来移除它。
|
|我很惊讶。你后悔什么?
因为用户很难判断
开始<;代码>;结束时<;康德>;
工作原理不同于
<;代码>;而<;康德>;
RosettaCode wiki也有类似的故事:
2005年11月,Ruby的创建者松本幸弘(Yukhiro Matsumoto)对这种循环特性表示遗憾,并建议使用内核循环