技術メモ

後で同じ状況が起こった時に思い出せるように技術的なちょっとしたことをメモする。ベストな解ではない。



Rubyでコンソールをクリアしてカーソルを一番左端に持っていく


Rubyでコンソール上で画面をクリア(clear)して上から情報を出力したいとき、
Windowsならcls, Linuxならclearをsystem関数で呼んでsystem "cls"system "clear"とするのがシンプルではあるが、環境(platform)に依存してしまう。





 
print "\033[2J\033[0;0H"を使えばplatformに関係なく、画面をクリアしてカーソルを一番左上に持っていける。
print "\033[2J"だけでも画面をクリアすることはできるが、カーソルの位置が動かないので、カーソルを移動するエスケープシーケンス”\033[Y;XH”(X,Yは座標の数値が入る)を用いてprint "\033[0;0H"を実行することでカーソルを画面左上に動かせる。これを組み合わせたものがprint "\033[2J\033[0;0H"である。




 



タグ:
投稿日: 2019年9月26日





コメントを残す

回答をお約束することは出来ませんので予めご了承ください。
コメントは承認されると表示されるようになります。
コメントを送信する前に「私はロボットではありません」にチェックを入れて下さい。