从“Groovy and Grails recipes”一书中我使用了以下代码片段:
String HelloLanguage = "def hello(language) {return \"Hello $language\"}"
但是,我收到编译器错误“您试图在绑定中引用变量或从静态上下文引用实例变量。”因为语言无法绑定。有什么问题?
答案 0 :(得分:1)
我对Groovy不太熟悉我只是在GroovyConsole中尝试了你的字符串而我得到了一个例外 - 在逃离美元后,它运行良好。不管是吗?
String HelloLanguage = "def hello(language) {return \"Hello \$language\"}"
答案 1 :(得分:0)
这是一个奇怪的结构。不幸的是我没有这本书,但看起来你正在制作一个看似方法定义的字符串。把它带到合乎逻辑的下一步, 一个基本的groovy类可能看起来像这样
class Talker {
def hello(language) { return "Hello ${language} !" }
}
def talker = new Talker()
talker.hello("English") // prints: Hello English!