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 师生聚餐的祝福语简短