Julia中的原始文字字符串

Cri*_*usa 12 string escaping string-literals julia

在Python中,可以编写r"a\nb"以防止将\n其解释为换行符的转义序列.

朱莉娅有类似的东西吗?那么字符串插值怎么样"$variable",有没有办法防止呢?

我知道一个可以简单的写"a\\nb""\$variable"在朱莉娅,但我想写了很多的LaTeX的字符串,而不必关心正确的逃生每一个反斜杠\和美元$字符...

(在Julia中,r"..."创建一个正则表达式.)

Cri*_*usa 12

好吧,我刚刚发现,因为可以在Julia中轻松创建非标准的字符串文字,传递的文字会做我要求的:

macro R_str(s)
    s
end

>>> R"$a\n$b"
"\$a\\n\$b"
>>> print(R"$a\n$b")
$a\n$b
Run Code Online (Sandbox Code Playgroud)

我还发现PyPlot.jl定义了一个« LaTeXString类型,它可以通过L"...."不转义反斜杠或美元符号来构造»,还有IJulia中渲染方程的额外好处.

最后一个问题仍然存在:在Julia base中有一个原始的字符串文字是不值得的吗?

  • 我还发现在某些情况下需要``R_str``宏,并且手动定义它是一件麻烦事.不确定为什么它不存在,但在github上打开PR或问题,以便我们可以看到是否存在反对意见. (2认同)
  • @DarekNędza:这也是它在Python中的工作方式。'r“ C:\”`不是有效的Python原始字符串。如果是这样,将无法在原始的双引号字符串内编写双引号。 (2认同)

Lis*_*iso 7

朱莉娅0.6我们有raw"\a$variable"