私は、libにrubyモジュールを備えたjruby railsアプリを持っています。これは、Javaオブジェクトの名前の間隔を空けているため、競合は発生しません。
そのモジュールに特定のクラスを含めることと、パッケージを含めることの違いは何だろうと思います。以下にサンプルコードを含めました。
コンソールでは、たとえば1 MyMod ::と言ってタブを押すと、(たとえば)101個のメソッドとクラスオプションがあり、MyMod::MyClassがその1つです。
たとえば、2、MyMod :: and tabを押すと、100個のメソッド/クラスオプションしかなく、MyClassは含まれていません。次に、MyMod :: MyClassに移動して参照し、そのMyMod ::タブを再度実行すると、101個のオプションがあり、MyClassが一覧表示されます。
これが私の質問です。例1のモジュールでこれらのクラスをすぐに参照することと、例2のようにオンデマンドでロードすることの違いは何ですか。使用するクラスが約20個あるパッケージがある場合、それらをオンデマンドまたは事前にロードすることをお勧めします。これをオンデマンドでロードするためのオーバーヘッドはありますか(例2 )。
サンプルコード:
例1
module MyMod
MyClass = Java::my.package.MyClass
....
end
vs 例2
module MyMod
include_package "my.package"
end