在groovy中,如何分配多行字符串而不使用转义斜杠(\)并且不进行插值

use*_*098 5 groovy escaping heredoc multiline

在 groovy 中,如果我想要没有插值且没有转义的多行字符串该怎么办

就像是:

    var1="hello hello"   
    var2="""/   
      adakldjkadj\^mk   
      as@da\kl#DFD#$#   
      ${var1}   
      d3&657\7fdsfsf   
    /"""   

println var2;
Run Code Online (Sandbox Code Playgroud)

应该打印出完全相同的内容,例如:

adakldjkadj\^mk
as@da\kl#DFD#$#
${var1}
d3&657\7fdsfsf

也就是说, ${var1} 尚未扩展,并且不需要转义 \ 并且它是多行字符串
那么如何在 GROOVY 中分配此 HEREDOC 字符串。这在 bash 脚本、ruby、perl 等中是可能的。

在 ruby​​ 中,它表示为(注意分隔符周围的引号,例如:'EOL')

a = <<'EOL'   
  adakldjkadj\^mk   
  as@da\kl#DFD#$#   
  yes ${var1}   
  d3&657\7fdsfsf   
EOL   
Run Code Online (Sandbox Code Playgroud)

如何在groovy中做到这一点?

Chi*_*hii 1

这是不可能的,请参见此处:https://issues.apache.org/jira/browse/GROOVY-411