Ruby中区分运行来源的方法

运营结果,引进模块的口径不树立,未有出口called from direct running

复制代码 代码如下:

直白运维,结果,if条件建设构造,实行了出口

module Utils
    class StringUtils
        def self.test
            puts “test method myfile=” + __FILE__ + ‘;load from ‘ + 
$0
        end
    end
end

Ruby当然也足以

20:04:37-androidyue~/rubydir/test$ ruby utils.rb
called from direct running
test method myfile=utils.rb;load from utils.rb

Python可以

工具类模块utils.rb

20:08:07-androidyue~/rubydir/test$ ruby test.rb
test method myfile=/home/androidyue/rubydir/test/utils.rb;load from
test.rb

引用Utils的类test.rb

require ‘./utils’
Utils::StringUtils.test()

if __FILE__ == $0
    puts ‘called from direct running’
    Utils::StringUtils.test()
end

if __name__ == ‘__main__’:
    print “from direct running”

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

复制代码 代码如下:

对于四处为攻城狮着想,具备欢娱编制程序观念的Ruby来讲当然是足以分别的。其规律就是决断运营文件是不是为模块的代码文件。

if __FILE__ == $0
    puts ‘called from direct running’
end

复制代码 代码如下:

比如像Python这样

举个例证

当大家在写模块的时候,或多或少必要直接运营那个文件也能够奉行一些措施,不过这么对于当那些模块被require大概include时,显得倒霉,在ruby里,有未有分别运维来自当前文件,依旧被require的指标文件调用呢?

您大概感兴趣的稿子:

  • windows和linux下Ruby的下载与安装
  • ruby安装gem包失利的通用解决措施
  • Windows下Ruby on
    Rails开拓情况设置配置图像和文字教程
  • 高速科学的安装 Ruby, Rails
    运转条件
  • 更改RubyGem安装源
  • win7安装ruby on
    rails开采条件
  • CentOS 6.3下编写翻译安装Ruby
    2.0笔记
  • Ruby中检查测量试验Gem是不是安装的秘诀
  • Windows下ruby语言安装教程
  • Ruby的设置与运行

相关文章