浏览 6278 次
锁定老帖子 主题:获取ruby运行的操作系统版本
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-31
def win32? require 'Win32API' return true rescue LoadError return false end 让ruby尝试加载Wind32API,如果成功就是Windows,否则就是Unix类操作系统。今天发现一个更好的办法: def windows? !(RUBY_PLATFORM =~ /win32/).nil? end 原来可以从环境变量RUBY_PLATFORM当中获得操作系统信息,比方说Windows上面是i386-mswin32,而我们的服务器上面是x86_64-linux,你打印一下就知道了: ruby -e "puts RUBY_PLATFORM" 作为一个小的编程技巧分享给大家。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-31
对,还可以用这个方法判断是否运行在JRuby环境下。
JRuby环境下RUBY_PLATFORM的值是“java”,Windows和Linux上都一样。以前我用这个方法确定是使用ActiveRecord native的数据库driver还是使用ActiveRecord-JDBC。 |
|
返回顶楼 | |
发表时间:2008-01-31
这个貌似只是给出你的ruby解释器所运行的平台,而不是操作系统..比如"i386-cygwin "
ruby way中,给了一个比较完全的程序,不过这边的ming不懂是那个操作系统: def os_family case RUBY_PLATFORM when /ix/i, /ux/i, /gnu/i, /sysv/i, /solaris/i, /sunos/i, /bsd/i "unix" when /win/i, /ming/i "windows" else "other" end end |
|
返回顶楼 | |
发表时间:2008-01-31
simohayha 写道 这个貌似只是给出你的ruby解释器所运行的平台,而不是操作系统..比如"i386-cygwin "
ruby way中,给了一个比较完全的程序,不过这边的ming不懂是那个操作系统: def os_family case RUBY_PLATFORM when /ix/i, /ux/i, /gnu/i, /sysv/i, /solaris/i, /sunos/i, /bsd/i "unix" when /win/i, /ming/i "windows" else "other" end end mingw? |
|
返回顶楼 | |
发表时间:2008-01-31
谢谢楼主!! 谢谢上面各层楼的朋友!!
终于知道怎么做了!! 谢谢大家! |
|
返回顶楼 | |