Groovyコンソールで動かしてみよう


Groovyを利用する方法はいろいろと用意されています。とにかく試してみたい!という人は、「Groovyコンソール」から始めましょう。これは、その場でGroovyのスクリプトを書いて動かせるプログラムです。Groovyの「bin」フォルダになる「groovyConsole.bat」をダブルクリックして実行してみましょう。上下2つの領域に分かれたウインドウが現れます。これが、Groovyコンソールです。

Groovyコンソール。上にスクリプトを書いて<Actions><Run>メニューで実行できる。


このウインドウの上部が、スクリプトを記述するエリアです。下部は、実行したときの結果を表示する領域になります。では、実際に簡単なスクリプトを書いて動かしてみましょう。

name = "Tuyano"
System.out.println("Hello, $name !")


このように書いてから、<Actions>メニューより<Run>を選んでスクリプトを実行してみましょう。下のアウトプットエリアに「Hello,Tuyano !」と表示されます。

このスクリプトを見ればわかるように、Groovyは、完全なJavaコンパチではありません。一部、スクリプト言語特有の機能を追加しています。例えば、この2行のスクリプトを見ただけでも、Javaとの違いがいくつか浮かび上がってきます。

・終わりにセミコロン(;)がない。Javaはセミコロンで文を区切るが、Groovyではセミコロンは省略できる。(つけてもいい)

・変数の宣言にタイプを指定する必要がない。Groovyでは、変数やプロパティ、メソッドの引数などは実行時に動的にタイプを指定することができる。また、異なる型の値は内部で自動的にキャスト(型変換)が行われるため、ほとんど値のタイプを意識する必要がない。

・テキストのリテラル内に$変数として変数を埋め込み、評価させることができる。これは、テキストをダブルクォートでくくってある場合に有効だ。Groovyでは、テキストリテラルの記述sにシングルクォートを使うこともできる。この場合には、埋め込み変数は評価されずそのままテキストとして扱われる。

・mainメソッドを定義せず、実行する文を書くだけでそれが直接実行される。Groovyでもメソッドやクラスはサポートされているが、それらを定義せず直接文を実行することもこのようにできる。

中でも面白いのはテキスト関係です。Groovyでは"と'の両方を使うことができ、埋め込み変数を利用することができます。これだけで、Javaよりはずいぶんと面白い使い方ができそうな気がするでしょう。更には、テキストの演算に引き算や掛け算も使えるようになっています。ちょっと試してみましょう。

str = "Groovy!"
str = str * 2 - "oo"
System.out.println(str);


これを実行すると、「Grvy!Groovy!」というテキストが出力されます。Groovy!を2回繰り返し、そこから「oo」というテキストを取り去ったものがprintlnされるわけです。非常に面白いですね。