"Java" (外部評価システム)
ExternalEvaluateの使用法
- ExternalEvaluate["Java",code] はJava REPLでコード列を実行し,Wolfram言語式として結果を返す.
使用法
- ExternalEvaluateで使われるJavaランタイムは,LoadJavaClassやJavaNewのようなJ/Link操作で使われるものと同じなので,J/LinkとExternalEvaluateの間のシームレスな相互運用性が可能である.
- AddToClassPath関数を介してJ/Link に見えているクラスはExternalEvaluateのJavaコードにも見えている.
- ExternalEvaluateで定義されたJavaクラスは,自動的にJ/Linkにロードされ,他のJavaクラスと同様に使うことができる.
例題
すべて開くすべて閉じる例 (5)
自然な表現のないオブジェクトはJ/Linkと同様にJavaObject式として返される:
>とタイプしてドロップダウンメニューからJavaを選ぶと,評価にExternalEvaluateを使うコードセルが得られる:
スコープ (2)
Javaメソッドは,完全なクラス定義で囲まなくても定義することができる.このようなメソッド定義は常に公開されており静的なので,「public static」接頭辞を削除することができる:
メソッドの定義により,呼び出すことのできるExternalFunctionオブジェクトが返される:
public class Node {
private String data;
private Node next;
public Node(String data) {
this.data = data;
next = null;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
クラス定義により,J/Linkで直接使うことのできるJ/Link JavaClass式が返される:
ExternalEvaluateから新しいクラスを直接呼び出すこともできる: