Как я могу использовать "puts" на консоли без разрыва строки в ruby ​​на рельсах?

У меня есть метод, который проходит через цикл - я хочу, чтобы он выводил ".". каждый цикл, чтобы я мог видеть его в консоли. однако, это pus linebreak в конце каждого, когда я использую puts ".".

Если есть способ, чтобы он имел сплошную линию?

Ответ 1

Вам нужно использовать печать вместо puts. Кроме того, если вы хотите, чтобы точки отображались плавно, вам нужно очистить буфер 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

100.times do
  print "."
  sleep 1
end