Jus*_*Guy 6 quoting string-interpolation raku
对不起,如果这在某处记录,但我一直无法找到它。将大括号定界符与 一起使用时qq,不会插入代码:
qq.raku
#!/usr/bin/env raku
say qq{"Two plus two": { 2 + 2 }};
say qq["Two plus two": { 2 + 2 }];
Run Code Online (Sandbox Code Playgroud)
$ ./qq.raku
"Two plus two": { 2 + 2 }
"Two plus two": 4
Run Code Online (Sandbox Code Playgroud)
显然,这没什么大不了的,因为我可以使用一组不同的分隔符,但我遇到了它并想我会问。
正如@raiph 指出的那样,我忘了提出实际问题:这是它应该工作的方式吗?
引用语言“nibbler”(通过引用字符串吃掉它的语法的一点)看起来像这样:
[
<!stopper>
[
|| <starter> <nibbler> <stopper>
|| <escape>
|| .
]
]*
Run Code Online (Sandbox Code Playgroud)
也就是说,在我们看到塞子之前,先吃:
{你的情况下的开头),然后是一些内部的东西,然后是一个塞子(});这允许在字符串内部嵌套构造语法中的这种排序意味着所选引用开头/结尾的嵌套将始终胜过转义。这个问题是在语言设计的时候讨论过的;毕竟,我们可以对语法中的交替进行重新排序,使逃逸获胜。然而,总的来说,人们认为启动器/停止器的选择是比引用语言的一般属性更本地化的决定,因此应该优先。(这也与引用语言的构造方式一致:我们采用基本的引用字符串语法并将 starter/stopper 方法混合到其中。)
| 归档时间: |
|
| 查看次数: |
90 次 |
| 最近记录: |