pnuts.lang.Contextクラスに関する概略は Pnuts API の概略を見てください。
実行中のコンテクストを求めます。 コンテクストは、対話的セッションの開始時か、load() や loadFile() の呼び出し時に作成されます。それ以外の計算では、getContext()で得られるコンテクストを参照します。
これらの関数にcontextが指定された場合、そのコンテクストのコピーが作られ、そのクローン(複製)を使ってスクリプトが実行されます。
contextが指定されない場合、カレント・コンテクストのクローンが作られ、そのクローンを使ってスクリプトが実行されます。この場合は、import() の状態とカレントパッケージは初期状態にリセットされます。
コンテクスト毎に次の3種類の出力先を別々に指定できます。
コンテクスト・ローカル変数は、コンテクストにバインドされた一種の環境変数です。関数呼び出しをまたいで状態を保持したい場合に用います。
例:
function foo(){
getContext().foo = true
}
function bar(){
if (getContext().foo != null){
println("foo has been called")
}
}
その他の属性については、Pnuts API の概略を参照。