String Julia中的原始文本字符串

String Julia中的原始文本字符串,string,escaping,string-literals,julia,String,Escaping,String Literals,Julia,在Python中,可以编写r“a\nb”,以防止\n被解释为换行符的转义序列 朱莉娅身上有类似的东西吗?那么像“$variable”这样的字符串插值呢,有什么方法可以防止吗 我知道人们可以简单地在Julia中编写“a\\nb”和“\$variable”,但我想编写很多LaTeX字符串,而不必关心如何正确地转义每个反斜杠\和美元$字符 (在Julia中,r“…”创建了一个正则表达式。)好的,我刚刚发现,由于可以在Julia中轻松创建,一个直通式将满足我的要求: macro R_str(s)

在Python中,可以编写
r“a\nb”
,以防止
\n
被解释为换行符的转义序列

朱莉娅身上有类似的东西吗?那么像
“$variable”
这样的字符串插值呢,有什么方法可以防止吗

我知道人们可以简单地在Julia中编写
“a\\nb”
“\$variable”
,但我想编写很多LaTeX字符串,而不必关心如何正确地转义每个反斜杠
\
和美元
$
字符


(在Julia中,
r“…”
创建了一个正则表达式。)

好的,我刚刚发现,由于可以在Julia中轻松创建,一个直通式将满足我的要求:

macro R_str(s)
    s
end

>>> R"$a\n$b"
"\$a\\n\$b"
>>> print(R"$a\n$b")
$a\n$b
我还发现,它定义了一个«类型,可以通过
L“…”
构造,而无需转义反斜杠或美元符号»,还有IJulia中呈现的公式的额外好处


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

从我们的
raw“\A$variable”

中,我还发现在某些情况下需要使用
R\u str
宏,手动定义它很麻烦。不知道为什么它不在那里,但是在github上打开一个PR或一个问题,这样我们就可以看到是否有反对它的人。@ivarne,我确实想做一个PR。我将尝试找一些时间来处理它(我想使用字符串标志来指示原始字符串宏有条件地启用字符转义或插值的解释)。试试这个:
R“C:\”
。它正在尝试转义
。您必须添加空格:
R“C:\”
。您的解决方案非常接近。ps.windows用户的原始字符串(或转义字符的函数)可能会很有趣。
L
提示正是我在Latex和PyPlot中所需要的,谢谢。@DarekNędza:这也是它在Python中的工作方式。
R“C:\“
不是有效的Python原始字符串。如果是,就没有办法在原始的双引号字符串中写入双引号。