我有几个文件中有不同类的
Ruby代码.在一个文件中,我开始执行.此文件需要我的其他文件.
这是启动Ruby代码的好方法吗?
>当我从符号链接运行代码时,例如DIR2 / MyRubyCode是到主文件DIR1 / MyRubyCode.rb的链接,那么我的要求就会失败.我通过在路径DIR1添加到$LOAD_PATH之前解决了这个问题,但我认为会有更好的方法来实现.你有什么建议吗?
解决方法
如果要检查Ruby文件是否被“ruby MyRubyCode.rb”要求或执行,请检查__FILE__常量.
# If the first argument to `ruby` is this file. if $0 == __FILE__ # Execute some stuff. end
对于require / $LOAD_PATH问题,您可以随时使用require语句中的相对路径.例如:
# MyRubyCode.rb require "#{File.dirname(__FILE__)}/foo_class" require "#{File.dirname(__FILE__)}/bar_module"