我正在写一个应该从STDIN中读取n次的代码。所以说3次。最好的方法是什么?
我试过这个
counter = 0
while sentence = gets.chomp && counter < 3 do
...
counter += 1
end
但由于一些奇怪的原因,循环内的句子变量是布尔值吗?
答案 0 :(得分:2)
您可以执行以下操作:
n.times { sentence = gets.chomp }
或
n.times do
sentence = gets.chomp
# your code here
end
答案 1 :(得分:1)
运营商优先权。这一行:
while sentence = gets.chomp && counter < 3 do
被解释为
while sentence = ( gets.chomp && counter < 3 ) do
所以,你可以这样做:
while ( sentence = gets.chomp ) && counter < 3 do
这解释了为什么您将true
或false
值添加到sentence
,第三个选项应该解决此问题,因此您的代码非常接近工作。但是,在Ruby中看到像Babai的