我有一个通过循环的方法--我想让它输出一个“。每个循环,这样我就可以在控制台中看到它。但是,当我使用puts "."
时,它会在每个代码的末尾加一个换行符。
有没有办法让它只有一条连续线?
发布于 2011-02-23 00:18:06
你需要使用print而不是put。此外,如果您希望圆点平滑显示,则需要在每次打印后刷新stdout缓冲区...
def print_and_flush(str)
print str
$stdout.flush
end
100.times do
print_and_flush "."
sleep 1
end
编辑:我只是在调查flush背后的原因来回答@Ruby王子的评论,并意识到这可以通过简单地使用$stdout.sync = true
来清理一下……
$stdout.sync = true
100.times do
print "."
sleep 1
end
https://stackoverflow.com/questions/5080644
复制相似问题