我的目标是写下这个:
println "this should be 3: ($1+2)" //this is invalid groovy, it won't run
然而这在红宝石中是有效的。有没有一种方法可以将语句放在字符串中,或者我必须使用完整的变量名称?我基本上是在寻找Ruby的等价物:
puts "this shoud be 3: #{1+2}" #this is valid ruby
答案 0 :(得分:11)
这就是你需要的
println "this should be 3: ${1+2}"
如果要评估的代码是变量名或GPath表达式,则可以省略花括号,例如
def foo = "bar"
println "The value is $foo"
但是如果您想要安全起见,请始终将代码放在${}