如何在Ruby中使用来自多个操作系统的命令?

时间:2016-04-03 20:47:59

标签: ruby linux windows macos

在Windows中,我必须使用cls来清除控制台,在Linux中只需clear

是否有类似的函数:

system("cls")system("clear")

1 个答案:

答案 0 :(得分:0)

不,在ruby native libs中不存在已经编写的两种方法。但是,您可以这样做:

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
end

然后:

def clear_console
    if OS.windows?
      system("cls")
    else
      system("clear")
    end
end
对于OS模块,

信用额转为Aaron Hinni