IT-Swarm.Net

如何在Ruby on rails上使用“puts”而没有换行符?

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

如果有一种方式,它只是一个连续的线?

148
Timothy T.

你需要使用print而不是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
188
idlefingers

快速,可靠且价格合理的云托管

注册并在30天内获得$50奖金!