我有一个循环的方法——我希望它输出一个“”这样我就可以在控制台中看到它。但是,当我使用 puts "."时,它在每个结尾都放置了一个换行符。
puts "."
如果有办法让它只有一条连续的线呢?
您需要使用 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
$stdout.sync = true 100.times do print "." sleep 1 end