1. ホーム
  2. ruby

[解決済み] Ruby on railsで改行せずにコンソールに "puts "を使用するにはどうすればよいですか?

2022-02-08 13:43:02

質問内容

ループを通過するメソッドがあるのですが、ループごとに "." を出力してコンソールに表示させたいのです。 puts "." .

連続した線だけにする方法があれば教えてください。

解決方法は?

putsの代わりにprintを使用する必要があります。また、ドットをスムーズに表示させたい場合は、print の後に stdout バッファをフラッシュする必要があります...。

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

100.times do
  print_and_flush "."
  sleep 1
end

編集する rubyprince さんのコメントに答えるために flush の理由を調べていたのですが、これは単に $stdout.sync = true ...

$stdout.sync = true

100.times do
  print "."
  sleep 1
end