我怎么可以使用“放”到控制台没有在轨道上ruby的换行符?

我有一个方法,通过一个循环 – 我想它输出一个“。” 每个循环,所以我可以在控制台中看到它。 然而,当我使用put的时候,它在每个结尾处都有一个换行符puts "."

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

你需要使用打印,而不是放置。 另外,如果你想要点的顺利出现,你需要在每次打印之后刷新stdout缓冲区。

 def print_and_flush(str) print str $stdout.flush end 100.times do print_and_flush "." sleep 1 end 

编辑:我只是看着背后的理由,以回答@ ruby​​prince的评论,并认识到这可以清理了一下简单地使用$stdout.sync = true

 $stdout.sync = true 100.times do print "." sleep 1 end