次のコードは正常に動作します
def json = new JsonBuilder()
json {
writeNumbers(delegate, "myNumbers")
}
println json.toPrettyString()
def writeNumbers(json, name) {
json."$name" {
"w" 32
"h" 32
}
}
しかし、別の「スコープ」内に writeNumbers 呼び出しを移動または追加するとすぐに、stackoverflow 例外が発生します。ちょうどそのように
def json = new JsonBuilder()
json {
scopes {
writeNumbers(delegate, "myNumbers")
}
}
println json.toPrettyString()
def writeNumbers(json, name) {
json."$name" {
"w" 32
"h" 32
}
}
結果:
Caught: java.lang.StackOverflowError
java.lang.StackOverflowError
なぜこれが起こっているのですか、どうすれば回避できますか? ありがとう