«前の日記(2004-06-30) 最新 次の日記(2004-07-04)»

cheep, cheep, cheep...


2004-07-01

_ groovy 楽しい

現実逃避に少しだけドキュメントを読んで使ってみた。

かなり Ruby から影響を受けている。 ブロックが { } で表されるところや、 while / if の条件節に ( ) が必要なあたりは Java。 残りはほとんど Ruby といった感じ。

iterator (groovy では closure と呼ぶ) を使うと、以下のようなスクリプトが簡単に書ける。

[1, "2", [3]].each { i | println "array has ${i}." }

ちなみに、ruby で書くと以下のような感じ。

[1, "2", [3]].each { |i| puts "array has #{i}." }

groovy では、 i | が省略されたときには、 it という名前が標準で使われるらしい。 微妙に便利かも。

operator overload も可能で、既定の名前のメソッド呼出しとして扱われる。

大きく異なるのは、 Ruby が基盤である標準 C ライブラリを (クラスライブリで wrap して) 受け継いでいるように、 groovy は Java を受け継いでいること。 groovy からは、 Java のクラスやオブジェクトを、何もせずに使うことができる。 この点は、 Ruby から C の関数を使うよりも、ずっと楽だ。 基本的な実行モデルも Java から継承しているので、 Java に慣れている人は悩まなくても良い。

言語仕様が固まっていない部分も大きそうだし、 JRuby に似過ぎている気もするが、なかなか楽しい言語に育ちそうな予感がする。