我正在从史蒂夫·霍兹纳(Steve Holzner)的铁轨上开始学习这本书,我正在尝试书中的一些代码:
#!/usr/bin/env ruby
until($_ != "q")
puts "Running"
print "Enter q to quit: "
gets
chomp
end
当我运行程序时,没有任何反应!
答案 0 :(得分:4)
$_
为nil
。因此,until
条件立即得到满足,甚至不会运行循环一次。
答案 1 :(得分:2)
由于您要重复输入的字母 q
,您的第一行应该是;
until($_ == "q")
现在,$_
第一次到达时未设置为q
,因此会立即退出循环。
答案 2 :(得分:2)
需要until($_ == "q")
你拥有它的方式是建议它一直运行,直到“q”之外的任何东西都被输入。因此,当输入任何内容时它将退出,如果键入q,则它将继续。
答案 3 :(得分:2)
$_
将返回nil
。因为nil
是!= q
,所以该程序根本不会运行。它将以nil
退出。
答案 4 :(得分:2)
修正了你的代码,brah
#!/usr/bin/env ruby
foo = ''
while foo != 'q'
puts "Running"
print "Enter q to quit: "
foo = gets
foo.chomp!
end