読者です 読者をやめる 読者になる 読者になる

ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

groovy-1.7に置き換えたらいきなり最適解を見つけ出してあせった

Groovy

groovy-1.7がリリースされてしばらく立ちました。
仕事でばたばたしていたので数日前に置き換えたのだけは覚えている。windows、linuxいずれも/usr/share/groovyにシンボリックリンクなひとなので、

cd /tmp
wget http://dist.groovy.codehaus.org/distributions/groovy-binary-1.7.0.zip
unzip groovy-binary-1.7.0.zip 
mv groovy-1.7.0/ /usr/share/
cd /usr/share
unlink groovy
ln -s groovy-1.7.0 groovy
chmod 755 /usr/share/groovy-1.7.0/bin/*

はい、セットアップ完了。早速試してみる。すると・・・あれ?なんか今までとエラーメッセージが違う。
例えば以下のようなコードを実行すると

#!/usr/bin/env groovy
def x = new String("abc")
println x.substrin(2,1)

今まではsubstrinってメソッドはないよ、といわれて終わっていた気がするが、以下のようなメッセージが。

Caught: groovy.lang.MissingMethodException: No signature of method: java.lang.String.substrin() is applicable for argument types: (java.lang.Integer, java.lang.Integer) values: [2, 1]
Possible solutions: substring(int, int), substring(int), toString(), toString(), toString()
	at test.run(test.groovy:3)

おお!!!なんか最適解っぽいの出してる!!!
substringの間違いじゃね??とかいってくれてる!!!!
すごいぞ、1.7!