load可能なクラス

拡張子'.pnut' が省略されると、Pnuts インタプリタは、Java のクラスを、コンパイル済みのスクリプトとして読み込もうとします。この場合、そのクラスは、pnuts.lang.Executableインタフェースの実装クラスでなければなりません。

load可能なクラスのクラス名は、スクリプト名の'/'を'.'で置き換えたものです。たとえば、スクリプトの名前が"lib/stream"の場合、lib.stream クラスがもしあれば読み込まれます。そのクラスがない場合は、lib/stream.pnutを読み込みます。

pnuts.lang.Executableの実装クラスでは、run(Context)メソッドを定義します。

package my.package;
import pnuts.lang.*;

public class init implements Executable {
    public Object run(Context context){
    }
}

load("my/package/init") で、このクラスが読み込まれ、run(Context) メソッドが実行されます。

コンパイル済みのスクリプトが読み込まれたかどうかを確かめるには、pnutsコ マンドのオプション -v を指定するか、プロパティpnuts.verboseを 指定します。

コンパイル済みスクリプトが使われる場合:
% pnuts -v -r my/package/init
[loading my.package.init class]
コンパイル済みスクリプトが使われない場合:
% pnuts -v -r my/package/init
[loading file:/C:/test/my/package/init.pnut]