groovyshellとpropertymissing()の問題
-
30-10-2019 - |
質問
私は使用に問題があります propertyMissing()
一緒に GroovyShell
ファイルがあります
/**
* @file FooScript.groovy
*/
abstract class FooScript extends Script {
def propertyMissing(String name) {
"This is the property '$name'"
}
def propertyMissing(String name, value) {
println "You tried to set property '$name' to '$value'"
}
}
と
/**
* @file FooScriptTest.groovy
*/
import org.codehaus.groovy.control.*
def fooScript = """\
foo = 'bar'
println foo"""
def conf = new CompilerConfiguration()
conf.setScriptBaseClass("FooScript")
def sh = new GroovyShell(conf)
sh.evaluate fooScript
走るとき FooScriptTest.groovy
出力を期待しています
あなたはプロパティ「foo」を「バー」に設定しようとしました
これはプロパティ「foo」です
私が得るのは:
バー
私のようです propertyMissing()
デフォルトのものによってオーバーライドされます。これを防ぐにはどうすればよいですか?
正しい解決策はありません
所属していません StackOverflow