主页 > 知识库 > Ruby中区分运行来源的方法

Ruby中区分运行来源的方法

热门标签:百度AI接口 电话运营中心 企业做大做强 硅谷的囚徒呼叫中心 Win7旗舰版 语音系统 呼叫中心市场需求 客户服务

当我们在写模块的时候,或多或少需要直接运行这个文件也可以执行一些方法,但是这样对于当这个模块被require或者include时,显得不好,在ruby里,有没有区分运行来自当前文件,还是被require的目标文件调用呢?

Python可以

比如像Python这样

复制代码 代码如下:

if __name__ == '__main__':
    print "from direct running"

Ruby当然也可以

对于处处为程序员着想,拥有快乐编程理念的Ruby来说当然是可以区别的。其原理就是判断启动文件是否为模块的代码文件。

复制代码 代码如下:

if __FILE__ == $0
    puts 'called from direct running'
end

举个例子

工具类模块utils.rb

复制代码 代码如下:

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

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

直接运行,结果,if条件成立,执行了输出

复制代码 代码如下:

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

引用Utils的类test.rb

复制代码 代码如下:

require './utils'
Utils::StringUtils.test()

运行结果,引入模块的条件不成立,没有输出called from direct running

复制代码 代码如下:

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

您可能感兴趣的文章:
  • 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的安装与运行

标签:海南 山西 喀什 崇左 济南 山西 长沙 安康

巨人网络通讯声明:本文标题《Ruby中区分运行来源的方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266