minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

まずはインストール。

http://groovy.codehaus.org
ここからWindows版のインストーラをダウンロード。
バージョンは 1.7.0 final。

あ、そうそう。Groovy には Java が必須だから、
もし Java が入っていない人はまず Java をインストールする必要がある。

Groovy のインストーラを実行。
環境変数の設定なんかも自動でやってくれるらしい。

GroovyConsole

早速、Groovy のコンソールを使ってみる。

console.png

上の欄にコードを書いて、Ctrl+R で実行。
標準出力の結果が下に出る。

構文

Groovy の構文は、Ruby によく似ている。
行末のセミコロンは必要無いし、配列は [] で記述する。
ただし Map も [] で記述する。

scores = [ "Brett":100, "Pete":"Did not finish", "Andrew":86.87934 ]

Ruby だと {} だったので、ここは違うところ。

そしてもちろん、Java の全てのクラスが使える。
後で試すが、標準クラスの中には Groovy 用に拡張されたものもあるらしい。

Java との違い

重要そうなところだけを、以下に列挙。

動的型付け

Ruby のように、変数の型は実行時に決定される。
そしてメソッドやフィールド、変数も動的に作成できる。
Proxy や Reflection なんかを、使う必要は無い。

プロパティ

VB のように、プロパティを使える。
フィールドを書いて Getter / Setter を書いて…のような手間はもう要らない。

デフォルトImport

Java だと java.lang.* だけだったが
Groovy だと以下のようにたくさんある。

java.io.*
java.lang.*
java.math.BigDecimal
java.math.BigInteger
java.net.*
java.util.*
groovy.lang.*
groovy.util.*

'==' の意味

Groovy では、== と書けばそれが equals になる。
つまり、プリミティブ型だけでなく通常のインスタンス比較にも == が
使えるというわけ。

予約語

in が予約語になっている。
よって、これを変数名で使うことができない。

その他色々

Ruby の様々な要素が取り入れられている。

・return は省略可
・static メソッドの中で this と書くとそれはクラス本体を指す
・Closure が使える。その代わりインナークラスは廃止
・正規表現のネイティブサポート
・文字列の式展開が使える
・複数変数への同時代入が可能

などなど。