2011-09-09 12 views
9

Rubyが1行で簡単に印刷できる方法はありますか?次の印刷では、最初から同じ行に印刷します。同じ行に複数のルビーを印刷する

ファイルの生成中にstdoutに表示される単純なファイルカウンタを作成しようとしています。それは、画面上の同じ位置で素早く更新された数字のように見えます。

答えて

16

を使用することができます\ rを..

while(true) do 
    print "\\\r" 
    print "|\r" 
    print "/\r" 
end 

文字を印刷して、バックカーソルを移動し、少しスピナーなどを作り、その上に印刷されますもの。そうでなければcursesのようなものを見ることができます。(ルビーラッパーの場合はhttps://github.com/rkumar/rbcurse)

0

端末のようなものに印刷している場合は、制御文字やcursesを使用できます。いくつのアイテムを処理しているか知っていれば、wget/etcのようにテキストのプログレスバーを作るほうが簡単かもしれません。

6

あなたはこのような何かを試すことができます:あなたのコンソールがサポートしている

print "Hello" 
print 13.chr 
print "123" 

場合ラインは、それが最初文字と印刷「123lo」を交換する必要がありますフィード。以下のようになりますカウンターでの例は次のとおりです。

100.times{|x| print x; print 13.chr; sleep 0.01} 
+0

これはUbuntuでローカルに動作しますが、SSH経由でSUSEで動作しません。 BTW - LFではなくCRではありません – stjohnroe

関連する問題