« 1歳10ヶ月の女児エスカレーターから落下 | メイン | タカラトミー商品数3割削減 »
2005年 8月 25日(木) 先負 今日は何の日?
PerlスクリプトにJavaのクラスをインポート - Java::Import 0.01公開
Perlスクリプト中でJavaのクラスを使用できるようにするPerlモジュールJava::Importを公開した。 Java::Importモジュールは、JavaのクラスをPerlスクリプトにインポートするための簡単なメソッドをを提供する。 インポートされたクラスはそのPerlスクリプト内で自由に利用できるようになる。
PerlスクリプトにJavaのクラスをインポート - Java::Import 0.01公開
David Rusek氏は23日、 Perlスクリプト中でJavaのクラスを使用できるようにするPerlモジュールJava::Importを公開した。 Java::Importモジュールは、JavaのクラスをPerlスクリプトにインポートするための簡単なメソッドをを提供する。 インポートされたクラスはそのPerlスクリプト内で自由に利用できるようになる。
例えば、java.lang.StringBufferクラスをPerl内で利用したい場合にはのように記述する。
use Java::Import qw(
java.lang.StringBuffer()
);
my $sb = new java::lang::StringBuffer();
$sb->append(jstring("java String"));インポートするクラスはqw(ClassName)で指定する。以後、new演算子によるインスタンスの生成や、 生成したインスタンスに対するメソッド呼び出しが行えるようになる。ただし、 Javaのパッケージ名の区切り文字である"."は"::"として記述する。また、メソッド呼び出しはPerlの流儀に従い、 "->"で行う。
その他、クラスメソッドの呼び出しやクラス変数の参照、例外処理、クラスの継承などにも対応している。 Javaのinstanceof演算子と同様の機能を持ったisaメソッドなど、いくつかの特殊なメソッドも提供される。
一方、現時点ではJavaのフィールドには対応していない。また、 メソッドの引数や返り値はJavaオブジェクトでなくてはならないという制限もある。 プリミティブ型についてはJavaのラッパクラスを利用する。これらの制限は、今後のバージョンアップで改善される予定だという。なお、 Java::ImportではJavaクラスの処理についてはGJC(GNU Java Compiler)で提供される機能に強く依存しているため、GJCが対応しないJavaコードは利用することができない。
Java::ImportはGoogle Summer of Codeプログラムに採択されたプロジェクトの1つ「Open Sourcing Perl/Java Integration」の最初の成果物であり、Perlと同様にArtistic LicenseとGPLのデュアルライセンスとして配布されている。 Java::Importと似たコンセプトを持ったものにInline::Javaというモジュールもあり、 こちらはPerlスクリプト中に直接Javaのコードを埋め込むことができる。
PerlからJavaのコードが利用できる。と言うのは、なかなか面白い話しです。PerlにもJavaにも、 既に多くのコードがあり、その中には非常に洗練された汎用性の高い物が多く含まれています。その2つの能力を同時に利用する事ができる。 と言う事はとても意味がある事だし、開発効率の飛躍にも繋がっていく事でしょう。
現時点では、まだ制約も多い様ですが、今後この制約も少しずつ少なくなっていく事でしょう。大いに期待が持てる事だろう。と思います。
まだ、記事を見ただけ。と言う状態ですが、早速触ってみたいと思っています。
Posted by kibiwaka : 2005年08月25日 20:56
トラックバック
- トラックバックを頂く記事の内容については、記事に関係する内容、記事への同調、記事への反論など、 記事の内容に関するもののみとします。
- トラックバック先の記事に、当サイト、または該当記事へのリンクが無い場合には、トラックバックを削除させていただく場合があります。
- Movable Typeの迷惑トラックバック感知機能により、トラックバックが受け付けられない場合があります。
- 法律に触れる可能性があると判断できるもの、当サイトへの掲載が不適当と思われる内容については、 事前の連絡をなしに削除する場合があります。
- 当サイト、黍若個人への連絡事項などがあれば、連絡用記事へトラックバックを付けてください。 個別の記事に付けないで下さい。
または、ウェブメールでご連絡下さい。 - 詳しくし、黍若日記 コメント・トラックバック・リンク基本方針をご覧下さい。
このエントリーのトラックバックURL:
このエントリーのリンク用URL:
コメント
- コメントを頂く記事の内容については、記事に関係する内容、記事への同調、記事への反論など、 記事の内容に関するもののみとします。
- Movable Typeの迷惑コメント感知機能により、コメントが受け付けられない場合があります。
- 法律に触れる可能性があると判断できるもの、当サイトへの掲載が不適当と思われる内容については、 事前の連絡をなしに削除する場合があります。
- 当サイト、黍若個人への連絡事項などがあれば、連絡用記事へコメントを付けてください。 個別の記事に付けないで下さい。
または、ウェブメールでご連絡下さい。 - 詳しくし、黍若日記 コメント・トラックバック・リンク基本方針をご覧下さい。

