• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby中区分运行来源的方法

Ruby中区分运行来源的方法

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了ruby,ruby碧玺,ruby woo口红,mac ruby woo口红,ruby教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

Python可以

比如像Python这样

if __name__ == '__main__':
    print "from direct running"
</div>

Ruby当然也可以

对于处处为程序员着想,拥有快乐编程理念的Ruby来说当然是可以区别的。其原理就是判断启动文件是否为模块的代码文件。
if __FILE__ == $0
    puts 'called from direct running'
end
</div>

举个例子

工具类模块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
</div>

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

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

引用Utils的类test.rb

require './utils'
Utils::StringUtils.test()
</div>

运行结果,引入模块的条件不成立,没有输出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
</div>

</div>

您可能想查找下面的文章:

  • ruby迭代map的简洁写法实现原理分析
  • Ruby中访问SQL Server数据库的配置实例
  • ruby声明式语法的实现例子
  • Ruby中的Range对象学习笔记
  • Ruby中的String对象学习笔记
  • Ruby的基本语法学习总结
  • Ruby中的方法(函数)学习总结
  • Ruby中的变量学习总结
  • Ruby数组(Array)学习笔记
  • Ruby和元编程之万物皆为对象

相关文章

  • Ruby实现的最优二叉查找树算法
  • Ruby中case表达式详解
  • ruby的程序结构介绍
  • Ruby入门介绍第1/5页
  • Ruby中调用执行shell命令的6种方法
  • ruby 存取器 概念
  • Ruby中的迭代器详解
  • 源代码快速定位工具-qwandry使用指南
  • Ruby中的集合编写指南
  • Ruby中数组的一些相关使用方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)
    • 在Ruby on Rails上使用Redis Store的方法
    • 冒泡排序算法及Ruby版的简单实现
    • Ruby实现的矩阵连乘算法
    • Windows下ruby语言安装教程
    • ruby写扫描当前网页所有url的脚本
    • Ruby中相等性判断的4种方法
    • Ruby的面向对象编程的基础教程
    • Ruby配置rspec和RestClient来检测服务器
    • Ruby中proc和lambda的两个区别

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有