[ruby] 루비 온 레일에서 줄 바꿈없이 콘솔에 “puts”를 사용하려면 어떻게해야합니까?

루프를 통과하는 메소드가 있습니다. “.”를 출력하고 싶습니다. 각 루프를 콘솔에서 볼 수 있습니다. 그러나 내가 사용할 때 각 끝에 줄 바꿈을합니다 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


답변