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