请原谅我对Ruby的经验,但是我无法在具有以下结构的第三方项目中运行脚本:
˅ alpha
˅ lib
˅ bravo
golf.rb
˅ charlie
˃ delta
˅ echo
foxtrot.rb
require "charlie/delta/echo/__init"
__init.rb
require "bravo/golf"
我的命令行应该是什么来运行脚本“ foxtrot.rb ”,因为以下内容会产生错误:
ruby "c:\arby\lib\bravo\charlie\delta\echo\foxtrot.rb"
"'require': cannot load such file -- charlie/delta/echo/__init (LoadError)"
答案 0 :(得分:0)
如果这是__init.rb内部的代码,它将无法正常工作。
require "charlie/delta/echo/__init"
__init.rb
require "bravo/golf"
require
告诉ruby将代码加载到ruby文件中。为了使其正常工作,需要正确组织文件。您也可以使用require_relative
,但是它们仍然需要来自调用它们的文件的相对路径。参见What is the difference between require_relative and require in Ruby?