OS依存なコードを書く機会があり、OSを判別する必要があったのでメモ
require 'rbconfig'
def os
@os ||= (
host_os = RbConfig::CONFIG['host_os']
case host_os
when /mswin|msys|mingw|cygwin|bccwin|wince|emc/
:windows
when /darwin|mac os/
:macosx
when /linux/
:linux
when /solaris|bsd/
:unix
else
:unknown
end
)
end
こちらのコードほぼそのままです。。。
RUBY_PLATFORM
を使う例もいくつか見かけたのですが、スクリプトをJRubyで動かした時にRUBY_PLATFORM
が'java'
を返すのは具合が悪かったので、今回は上記の方法を採用しました。