Problèmes avec GroovyShell et PropertyMissing ()
-
30-10-2019 - |
Question
J'ai des problèmes d'utilisation propertyMissing()
ensemble avec GroovyShell
J'ai les fichiers
/**
* @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'"
}
}
et
/**
* @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
Quand je cours FooScriptTest.groovy
Je m'attends à la sortie
Vous avez essayé de définir la propriété 'foo' à 'bar'
Ceci est la propriété 'foo'
Ce que j'obtiens est:
bar
Semble mon propertyMissing()
est remplacé par le par défaut. Comment empêcher cela?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow