2009-10-09 15 views
7

ScriptableObject.putPropertyを使用してRhinoでJavaからオブジェクトを利用できるようにするのは簡単ですが、トップレベルの関数を公開する方法はありますか?つまり、私はRhinoのスクリプトでfoo()を呼び出し、その呼び出しをJavaコードにすることができますか?JavaからRhinoに関数を公開する

答えて

6

um ... yes, you can。おそらく私はあなたの質問を正しく理解していません( "トップレベル関数"とはどういう意味ですか?)が、もしあなたがRhinoにJavaオブジェクトを公開していれば、そのメソッドを呼び出すことができます。

+1

申し訳ありませんが、わからない場合は。私はfoo.bar()を呼び出すことができるオブジェクトを公開することができますが、bar()を呼び出すのが理想的です。したがって、「トップレベル関数」とは、現在実行中のRhino Scopeのプロパティで、それが意味をなされた場合、その関数を意味します。 – Thom

+3

ああ、そうだ。 FunctionObjectを定義することができます:https://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/FunctionObject.html putProperty()によってグローバル(または現在の)スコープに関連付けられます – ChssPly76

+0

素晴らしい。ありがとう! – Thom

関連する問題