답변:
풋 대신 프린트를 사용해야합니다. 또한 점이 부드럽게 나타나게하려면 인쇄 할 때마다 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
print
않고 버퍼에 저장할 수 있기 때문에 블록으로 나올 수 있습니다 (왜 그런지 모르겠습니다). OS에 따라 다를 수도 있습니다.
sync
것은 하나의 문자열을 출력하는 과잉 이라고 생각 합니다. 그런 다음 앱이 많이 출력하면 속도가 느려집니다.
$stdout.flush
? 정말 필요 .. 루비 1.8.7를 사용하고 난 그냥 함께 일을했던print
.. 나는 아무 문제가 없었다