現在、私は自社の社内スクリプティング言語(Object Orientated)から他の言語のかなりの機能をGroovyに移植するプロジェクトに取り組んでいます。多くの同様の機能。Groovyでインポートして使用できるライブラリを作成する
コードをできるだけオリジナルに近づけるため、特定の関数名とパラメータを同じままにしています。これに対応するために、私はインポートできるライブラリのセットを書きたいと思います。
たとえば、元のスクリプト言語にinbuiltメソッドがあるとします。 このメソッドの定義をGroovyファイルに書き込んで、必要に応じてインポートすることができます。呼び出される。
Tools.groovy
// filename: Tools.groovy
public String foo(String bar) {
return bar;
}
と、別のファイルに
Main.groovy
// filename: Main.groovy
import Tools;
String bat = foo("bar")
私はあなたがジャーにクラスファイルをコンパイルし、クラスパスにそれらを置くことができることを知って、私が実装する必要のあるメソッドの多くは、メタプログラミングを必要とするか、オブジェクトに関連付けられません。
申し訳ありませんが、それは悪い質問または十分に明確でない場合。私はそれが可能かどうかは分かりません。
いいえお返事
私は、Foo.bar()などの静的メソッドでクラス表記を使用する必要がないようにしようとしていましたが、それが最善の選択肢になるようです。 StringやListなどのライブラリでユーティリティメソッドを作成する場合は、サブクラスを作成せずに、最良の方法はメタプログラミングとすることです。インポート可能なString.metaClass。*メソッドのライブラリを作成することは可能ですか? 乾杯 – rhysvo