Ruby プログラムがどのオペレーティング システムで実行されているかを確認するにはどうすればよいですか?
概要
Ruby プログラムで Windows とは異なることを Mac 上で実行したいと考えています。自分のプログラムがどのシステムで実行されているかを確認するにはどうすればよいですか?
解決策
RUBY_PLATFORM 定数を使用し、オプションでそれをモジュールにラップして、より使いやすくします。
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
def OS.jruby?
RUBY_ENGINE == 'jruby'
end
end
これは完璧ではありませんが、私が開発を行っているプラットフォームではうまく機能し、拡張も簡単です。