Groovy実行時エラー
以下の様なクロージャを使って、ファイルを1行ずつ読み込む強力なGroovyスクリプトを作成し実行してみたんですが、エラーが発生しました。
File.groovy
1: import java.lang.io.* 2: 3: new File("sample.txt").eachLine{ line -> 4: println "${line}" 5: }
実行結果
C:\work\gv>groovy File.groovy
Caught: groovy.lang.GroovyRuntimeException: Could not find matching constructor
String)
at File.run(File.groovy:3)
at File.main(File.groovy)
ずっと原因がわからなかったんですが、よく考えたら、ファイル名が「File.groovy」なのが良くないようです*1。
ファイル名をFile以外に変えたら無事動きました。
実行結果
C:\work\gv>groovy File2.groovy
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
sample.txtの内容
aaaaaaaaaa
bbbbbbbbbb
cccccccccc
スクリプトなんで、実際にどんな.classファイルが作成されるかを意識しながら使わないといかんようですね。うむ。