似乎",", "$", "/"
全部用作分隔符,但"_"
没有。
x = "1"
"$x,x", "$x$x", "$x/1", "$x_1"
有没有关于此的文件?
答案 0 :(得分:4)
我认为这是因为x_1是Julia中的有效变量名,所以它试图将该变量的值插入到字符串中。
答案 1 :(得分:2)
将$之后的最短完整表达式作为其值插入字符串的表达式
github issue #455中解释了内部工作原理,可以通过以下方式进行总结:
字符串插值的工作方式实际上完全是在Julia中定义的。会发生什么是解析器(在FemtoLisp中)扫描代码并找到由双引号分隔的字符串文字。如果它在字符串中找不到未转义的$,它只会创建一个字符串文字本身 - ASCIIString或UTF8String,具体取决于字符串的内容。另一方面,如果字符串具有未转义的$,则它将字符串文字的解释移植到str julia宏,该宏生成一个表达式,通过连接字符串文字和插值来构造所需的字符串。这是一个很好的优雅方案,让解析器不用担心插值等问题。
我猜测#\, #\) #\] #\} #\;
,,
,)
,]
和}
;
分别关闭表达式的标记, $
指定下一次插值的开始。