NetBeansでGroovy

ようやく本年最初の更新・・・・・

というわけで今年最初のネタは昨年から引き続きGroovyネタです。
Groovyは動的型付け言語でありながら型指定も可能なわけですが、
型指定ができることによるメリットを見つけたので(いや、全然たいしたネタじゃ無いんですけどね(;´Д`))

例えばNetBeansを使用して下記のようなソースを書いた場合ですが

def name="foo"

def name2 = name

この後、「name」に対して「.(ドット)」を入力すると、NetBeansの場合はnameをString(GString)だと判断し、
適切なメソッドを候補として表示してくれます。
しかし、「name2」に対して「.(ドット)」を入力した場合、「split」とかは候補に出てきません。
これはname2の型がNetBeans的に不明であるためだと思われます。

しかし、下記のように書いた場合は「name2」の場合でも適切なメソッドを候補に出してくれます。

String name="foo"

String name2 = name

動的型付け言語は動的であるがゆえに静的型付け言語よりIDEの恩恵を受けれないわけですが、
Groovyは静的な型付けも可能であるためIDE側の恩恵を比較的受けやすそうです。*1Javaには無く、Groovyにしかないメソッド等に関してどんなのがあるかなぁと思ったときは試しに型を指定してメソッドの一覧を眺めてみるのもいいかもしれません。
(「そんなことするならAPI嫁!(゚Д゚)ゴルァ!!」って言われそうですがww)

ちなみに、Groovyイン・アクションにおいて「参照の型を思いついたら書く!そうではなく「単にオブジェクト」だと考えたときは動的型付けを行うのがCoolだぜ!(超意訳)」と書いてありました。
実際この本のサンプルソースはほとんどの場合において型を宣言してます。

*1:すみません、Eclipse等では試してないです