use*_*594 42 ruby operating-system detection sketchup
有没有办法检测ruby中的操作系统?我正在开发一个需要检测Mac与Windows的Sketchup工具.
deb*_*bie 60
你可以使用osgem:
gem install os
Run Code Online (Sandbox Code Playgroud)
然后
require 'os'
OS.linux? #=> true or false
OS.windows? #=> true or false
OS.java? #=> true or false
OS.bsd? #=> true or false
OS.mac? #=> true or false
# and so on.
Run Code Online (Sandbox Code Playgroud)
小智 53
这是我最近看到的最好的一个.它来自硒.我认为它是最好的原因是它使用rbconfig host_os字段,它具有在MRI和JRuby上工作的优势.RUBY_PLATFORM会在JRuby上说'java',无论它运行的主机是什么.你需要温和地调整这个方法:
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
raise Error::WebDriverError, "unknown os: #{host_os.inspect}"
end
)
end
Run Code Online (Sandbox Code Playgroud)
Int*_*ess 22
您可以使用
puts RUBY_PLATFORM
irb(main):001:0> RUBY_PLATFORM
=> "i686-linux"
Run Code Online (Sandbox Code Playgroud)
但@Pete是对的.