Groovyには, Javaに較べて多くの演算子があります. またJavaでは単なる構文要素であるものが, 演算子として再定義できたりします. それらはとても便利なのですが,
- どんな演算子が使えるか
- 使えたとして優先順位はどうなのか
- 多重定義する時のメソッド名は
など, なかなかまとまって調べられる場所もないのです...
そういうときには org.codehaus.groovy.syntax.Types を見てみましょう (えーと, あまり本気にしない方がいいかも知れませんよ:-) 特によい子は真似しないように).
ここには演算子のシンボル定義や優先度が書かれています.
だからてっきり, is()に相当する "===" (昔はあった) が使えるものかと思ってやってみると...
groovy:000> 1 === 1
ERROR org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, groovysh_parse: 1: unexpected token: = @ line 1, column 5.
1 === 1
^
1 error
at java_lang_Runnable$run.call (Unknown Source)
駄目っぽいですね(^_^;)
コードの一部だけ見て, 信用しちゃいけないって, 教訓です.