- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 Quasiquotes 将我的新语言添加到 Haskell,但该语言本身使用 |]
作为关键字。
有什么办法,如何:
a) 转义|]
,所以它被传递到我的语言
b) 让我的语言的解析器决定,当准引用结束时
谢谢。
最佳答案
简答:稍微修改嵌入语言。
User's Guide on QuasiQuoters解释说 |]
无法转义:
The quoted
⟨string⟩
finishes at the first occurrence of the two-character sequence"|]"
. Absolutely no escaping is performed. If you want to embed that character sequence in the string, you must invent your own escape convention (such as, say, using the string"|~]"
instead), and make your quoter function interpret"|~]"
as"|]"
.
您的解析器无法决定准引号何时结束,因为子字符串被传递给在 [<i>quasiquoter</i>|…
之后开始的准引号。部分和 …|]
之前部分。
因此,您应该稍微改变您的语言,例如使用翻译 |~]
的预处理器。 (这不被认为是准引号字符串的结尾)到 |]
相反。
关于haskell - 准引号转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70812567/
我正在尝试创建(在Java中)一个包含指定数量的整数k(例如,50、500、1000等)的整数数组,该数组不使用库函数或集合,但包含随机数范围内(即从 1 到 k)的数字分类,具有指定的重复百分比。
例如: MY_MESSAGE = 'Dear %s, hello.' # ... name = "jj" print MY_MESSAGE % name python 是否具有完成类似我上面的代码的功
我有一个使用 NUnit 3.4.1、NSubstitute 1.10.0 和 NCrunch 2.23.0.2 的文本夹具 此夹具中在任何时间点都有 2 个失败测试。每次我更改某些内容时,哪个测试失
我是一名优秀的程序员,十分优秀!