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

Ruby中区分运行来源的方法

热门标签:常德电销平台外呼系统软件价格 百度地图标注自定义图片 徐州网络外呼系统哪个好 白银外呼paas系统 地图标注赚钱项目注册 电销机器人厂商代理 滴滴外呼系统 湖州u友防封电销卡 高德地图标注客服

当我们在写模块的时候,或多或少需要直接运行这个文件也可以执行一些方法,但是这样对于当这个模块被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中区分运行来源的方法》,本文关键词  Ruby,中,区分,运行,来源,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Ruby中区分运行来源的方法》相关的同类信息!
  • 本页收集关于Ruby中区分运行来源的方法的相关信息资讯供网民参考!
  • 推荐文章