如何在Tau-Prolog字符串中正确转义双引号符号?
在Tau-Prolog字符串中包含双引号的解决方法
Tau-Prolog遵循ISO Prolog的字符串转义规则,不支持用反斜杠\转义双引号,正确的做法是用**两个连续的双引号""**表示字符串内部的单个双引号。
具体示例
替换你原来的错误写法:
A = "hello there, \"world\"" % 错误:Tau-Prolog不识别\作为双引号转义符
改为:
A = "hello there, ""world""". % 正确:用""转义内部的"
在Tau-Prolog沙箱或浏览器环境中运行上述正确语句,就能成功将A绑定为包含双引号的字符串hello there, "world"。
浏览器环境中的注意事项
如果是在JavaScript代码中嵌入Tau-Prolog语句,需要注意JavaScript本身的字符串转义:
- 若用双引号包裹JS字符串,内部的双引号需要转义,Tau-Prolog所需的
""要写成\"\":
const program = pl.create_program(`A = "hello there, \"\"world\"\"".`);
- 更简便的方式是用单引号包裹JS字符串,这样无需转义双引号:
const program = pl.create_program('A = "hello there, ""world""".');
内容的提问来源于stack exchange,提问作者Torbjörn Josefsson
相关产品推荐
相关产品推荐

