假设您有以下代码。
require 'msf/core'
Class xxx
...
end
我对此有一些疑问。
我知道如果require
中没有文件,那么应该是module
。
msf/core
是否意味着在core.rb
的某个路径下搜索msf
文件夹中的$:
? msf/core
似乎是一条路径。它的定义语法是什么?答案 0 :(得分:0)
我知道如果require中没有文件那么应该是一个模块。
据我所知,require
与模块名称无关。它总是需要文件名。
那红宝石如何找到模块?
找不到。它加载文件及其内容。
msf / core似乎是一个路径。它的定义语法是什么?
是的,它是相对于$LOAD_PATH
($:
)所需文件的路径。文件扩展名可能会被省略。在这种情况下,这是msf/core.rb
中的LOAD_PATH
文件。
BTW此变量为Array
,可以使用自定义路径进行修改:
$:.unshift('/usr/share/my_rb_files/')
模块和类之间有什么区别?
在这种情况下没有区别。
我认为RubyDoc有足够的信息来说明它是如何运作的。