我正在使用groovy扩展传统脚本系统。源脚本是“类似于Java的”,因此它几乎可以解析为具有一些预处理的常规脚本。
我正在使用invokeMethod()和missingMethod()来传递旧代码,从而使我能够使用闭包和其他常规功能来增强脚本。但是,原始脚本使用“ $ foo”类型的字符串来引用变量。当遗留方法被missingMethod()捕获时,我需要它不将该字符串评估为GString,而只是逐字输出。这有可能吗?
有两种逃避$ foo的方法:
例:
def test = "bad"
def s0 = "$test"
def s1 = "\$test"
assert s1 != s0
def s2 = '$test'
assert s2 == s1
println s0
println s1
println s2
Run Code Online (Sandbox Code Playgroud)
所以我想你必须使用预处理器才能转义字符串
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |