Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Groovy转义的正确规则是什么?_String_Groovy_Escaping - Fatal编程技术网

String Groovy转义的正确规则是什么?

String Groovy转义的正确规则是什么?,string,groovy,escaping,String,Groovy,Escaping,在中,您可以找到以下两段文字: 任何Groovy表达式都可以在所有字符串文本中插入, 除了单引号字符串和三引号字符串之外 粗线 ... 只有前斜杠需要用反斜杠转义 它们显然是矛盾的,因为根据第二句话,/$a/将被解释为“$a”。但是,根据第一个,它将被解释为“——变量a的含义-”。在现实生活中,它将以第二种方式工作 有趣的是,看起来像变量的东西之前的美元也应该在单引号字符串中转义。现实生活中的例子如下。Groovy尝试将$作为变量名前缀读取,即使在不进行插值时也是如此 看起来,美元斜杠字符串的解

在中,您可以找到以下两段文字:

任何Groovy表达式都可以在所有字符串文本中插入, 除了单引号字符串和三引号字符串之外

粗线 ... 只有前斜杠需要用反斜杠转义

它们显然是矛盾的,因为根据第二句话,/$a/将被解释为“
$a
”。但是,根据第一个,它将被解释为“
——变量a的含义-
”。在现实生活中,它将以第二种方式工作

有趣的是,看起来像变量的东西之前的美元也应该在单引号字符串中转义。现实生活中的例子如下。Groovy尝试将$作为变量名前缀读取,即使在不进行插值时也是如此

看起来,美元斜杠字符串的解释为所有字符串设置了正确的值:

除了转义将开始的字符串子序列的美元 就像GString占位符序列

您能否为groovy转义规则制定正确且无冲突的规则



实际测试是在Intellij的Gradle插件上进行的。

在Groovy的Action第70-73页中有一篇非常好的文章。我不想把它贴在这里,它不是我的分享。你可以在伊恩·曼宁的免费预览下阅读