我看不到苛刻字符串的好处。 groovy文档说:
...还有额外的好处,不需要额外的反斜杠 逃避特殊人物。这对于常规来说尤其方便 表达式或Windows文件/目录路径名。
def s = /.*foo.*/
def dirname = /^.*\//
def basename = /[Strings and GString^\/]+$/
但是除了美元符号和反斜杠之外,上面的例子对双引号也没问题。 使用双引号你甚至不能逃避斜线。那么好处在哪里? 是否只有美元符号和反斜杠不能被转义?
答案 0 :(得分:3)
比较:
的可读性def s = /<file directory="G:\Projects\Test\" id="a1">Something<\/file>/
VS
def s = "<file directory=\"G:\\Projects\\Test\\\" id=\"a1\">Something</file>"
你更优雅地处理\\\\\\\\\
- 地狱。