我有一个 jruby rails 应用程序,它在 lib 中有一个 ruby 模块,它对我的 java 对象进行命名,所以我没有冲突。
我想知道在该模块中包含特定类和包含包之间有什么区别。我在下面包含了示例代码。
在控制台中,例如 1当我说 MyMod:: 并点击选项卡时,它具有(例如)101 个方法和类选项,其中 MyMod::MyClass 是其中之一。
例如2,当我点击 MyMod:: 和选项卡时,它只有 100 个方法/类选项,并且不包含 MyClass。如果我然后去引用 MyMod::MyClass,然后再次运行该 MyMod:: 选项卡,我现在有 101 个选项,并且列出了 MyClass。
这是我的问题。在我的模块 à la示例 1中立即引用这些类与让它们像示例 2那样按需加载有什么区别。如果我有一个包含大约 20 个类的包,我希望它们是按需加载还是预先加载,并且按需加载是否有任何开销,例如示例 2
示例代码:
示例 1
module MyMod
MyClass = Java::my.package.MyClass
....
end
与 示例 2
module MyMod
include_package "my.package"
end