我怎样才能在控制台上使用“ put”,而不会在 Rails 中使用 ruby 中的换行符?

我有一个循环的方法——我希望它输出一个“”这样我就可以在控制台中看到它。但是,当我使用 puts "."时,它在每个结尾都放置了一个换行符。

如果有办法让它只有一条连续的线呢?

72284 次浏览

您需要使用 print 而不是 put。另外,如果希望点顺利显示,则需要在每次打印后刷新 stdout 缓冲区..。

def print_and_flush(str)
print str
$stdout.flush
end


100.times do
print_and_flush "."
sleep 1
end

编辑: 我刚刚在研究用刷新来回复@rubyPrince 的评论背后的原因,并意识到这可以通过简单地使用 $stdout.sync = true来清理一下..。

$stdout.sync = true


100.times do
print "."
sleep 1
end