Ruby中区分运行来源的方法
当我们在写模块的时候,或多或少需要直接运行这个文件也可以执行一些方法,但是这样对于当这个模块被require或者include时,显得不好,在ruby里,有没有区分运行来自当前文件,还是被require的目标文件调用呢?
Python可以
比如像Python这样
if__name__=='__main__': print"fromdirectrunning"
Ruby当然也可以
对于处处为程序员着想,拥有快乐编程理念的Ruby来说当然是可以区别的。其原理就是判断启动文件是否为模块的代码文件。
if__FILE__==$0 puts'calledfromdirectrunning' end
举个例子
工具类模块utils.rb
moduleUtils
classStringUtils
defself.test
puts"testmethodmyfile="+__FILE__+';loadfrom'+ $0
end
end
end
if__FILE__==$0 puts'calledfromdirectrunning' Utils::StringUtils.test() end
热门推荐
10 端午送老师祝福语简短
11 天仙配简短祝福语
12 伴娘祝福语简短朋友的话
13 业主装修完成祝福语简短
14 女儿出阁的祝福语简短
15 国庆祝福语简单简短
16 中考考后祝福语简短
17 祝福语短句简短好听霸气
18 吃饭后祝福语2026简短