Ruby代码
1. def win32?
2. require 'Win32API'
3. return true
4. rescue LoadError
5. return false
6. end
让ruby尝试加载Wind32API,如果成功就是Windows,否则就是Unix类操作系统。今天发现一个更好的办法:
Ruby代码
1. def windows?
2. !(RUBY_PLATFORM =~ /win32/).nil?
3. end
原来可以从环境变量RUBY_PLATFORM当中获得操作系统信息,比方说Windows上面是i386-mswin32,而我们的服务器上面是x86_64-linux,你打印一下就知道了:
Ruby代码
1. ruby -e "puts RUBY_PLATFORM"
Ruby代码
1. def os_family
2. case RUBY_PLATFORM
3. when /ix/i, /ux/i, /gnu/i,
4. /sysv/i, /solaris/i,
5. /sunos/i, /bsd/i
6. "unix"
7. when /win/i, /ming/i
8. "windows"
9. else
10. "other"
11. end
12. end