2016-04-03 5 views
0

Windowsでは、clsを使用してコンソールをクリアする必要があります.LinuxではclearRubyで複数のオペレーティングシステムのコマンドを使用するにはどうすればよいですか?

system("cls")またはsystem("clear")

+0

[Rubyで端末をクリアするにはどうすればいいですか?](https://stackoverflow.com/questions/3170553/how-can-i-clear-the-terminal-in-ruby/) – cremno

+1

ああ、それは良い答えを持っていないようです。 'curses'宝石をインストールしない限り、[ANSIエスケープコード](https://en.wikipedia.org/wiki/ANSI_escape_code)を使用してください:' print "\ e [H \ e [2J" '。しかし、それは移植可能ではありません。 – cremno

答えて

0

いや、ルビーネイティブLIBSに存在していないの両方のためにすでに書かれた方法:

は次のようにそこに機能です。その後、

module OS 
    def OS.windows? 
    (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil 
    end 

    def OS.mac? 
    (/darwin/ =~ RUBY_PLATFORM) != nil 
    end 

    def OS.unix? 
    !OS.windows? 
    end 

    def OS.linux? 
    OS.unix? and not OS.mac? 
    end 
end 

def clear_console 
    if OS.windows? 
     system("cls") 
    else 
     system("clear") 
    end 
end 

クレジットがOSモジュールのAaron Hinniに行くしかし、あなたはそのような何かを行うことができます。

関連する問題