2017-07-19 18 views
-2

エラーは、次のコード パッケージian.eg.learnによって生成されたなぜ「複数のマーカーがこの行にあるのですか?」というGroovyのEOFが見つかりましたか?問題の

class ReadXMLfile {  
    def customers = new XmlSlurper().parse(new File("C:\\Users\\IBM_ADMIN  
        \\Documents\\customers.xml")) 
    for (customer in customers.corporate.customer){ 
    println "${[email protected]} works for ${[email protected]}" 
    } 
} 

私は「のために」通常を使用していますが、コンパイラが問題

をしている私はなぜ表示されません

答えて

1

私はあなたがそう正確なエラーメッセージを使用しているのGroovyのバージョンを知りませんが変わる可能性がありますが、あなたは自分のクラスでそのどこかのような文を書くことができないので、コンパイラはあなたのforの文の代わりに何かを期待しています。

例:

class Xxx { 
    println("yoo") 
} 

を与える:

unexpected token: println @ line 2, column 3. 
println("yoo") 
^ 

あなたはクラス本体に直接どこにもなく...メソッド、またはinitブロックにそのコードを移動する必要があります。

+0

私が「Groovyのアクションで」12ページ(第1章) –

+0

初期化ブロックのうち、このコードを持って?ストレートGroovyの –

+0

のためにおそらくあなたは、Groovyの本の中でその例を見つけましたが、私はそれが*ない*クラスで、文字通りそのようではなかったと確信しています。私はあなたの例を見つけ、[ここ](https://github.com/demian0311/groovykata/blob/master/groovy_in_action/chapter1/chapter1.groovy)、XML-読んビットは、クラス内で直接ではありません。クラスは、Javaと同じ構造を持ち、フィールド、メソッド、およびinitブロック(静的init、インスタンスinit)を持ちます。しかし、中には無作為の言葉はありません。 – qlown

関連する問題