首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我怎样才能找到我的Ruby程序运行在哪个操作系统上呢?

我怎样才能找到我的Ruby程序运行在哪个操作系统上呢?
EN

Stack Overflow用户
提问于 2008-10-05 04:36:41
回答 6查看 38.6K关注 0票数 91

我想让我的Ruby程序在Mac和Windows上做不同的事情。我怎样才能找出我的程序在哪个系统上运行?

EN

回答 6

Stack Overflow用户

发布于 2008-10-04 21:17:49

使用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

它并不完美,但在我进行开发的平台上工作得很好,而且很容易扩展。

票数 151
EN

Stack Overflow用户

发布于 2008-10-04 20:41:58

任一

irb(main):002:0> require 'rbconfig'
=> true
irb(main):003:0> Config::CONFIG["arch"]
=> "i686-linux"

irb(main):004:0> RUBY_PLATFORM
=> "i686-linux"
票数 17
EN

Stack Overflow用户

发布于 2012-10-17 23:22:09

require 'rbconfig'
include Config

case CONFIG['host_os']
  when /mswin|windows/i
    # Windows
  when /linux|arch/i
    # Linux
  when /sunos|solaris/i
    # Solaris
  when /darwin/i
    #MAC OS X
  else
    # whatever
end
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/170956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档