|
|
1
1
通常尾部与列表的其余部分匹配,例如 与图案(1)匹配的'(1 2 3 4)。x),x匹配'(2 3 4)。 结果是令人困惑的,所以我们需要到资源处去查看实现(参见ice-9/psyntax.scm) 在这里,可以看到省略号被翻译为(每个+x y z)with z,在本例中,它是tail,并且与最后一个cdr相匹配,在所有情况下,它都是')。 在这个例子中…是伟大的和。尾巴不是。如果您对这种行为的记录方式不满意,或者希望更改实现方式,您可以在guile-devel邮件列表上询问:guile-devel@gnu.org Guile还提供了语法分析作为可下载的lib(搜索guile语法分析),这是Racket语法分析的一个端口,从几年前开始(如果您感兴趣,请参阅Racket的文档),我用语法分析对您的示例进行了编码,并按照您的预期进行了缝合。 |
|
TSG · 创建定义编译器变量并调用方法的C++宏 10 月前 |
|
|
HZ Masters · Excel VBA宏,用于自动插入行并插入总计和 10 月前 |
|
Edward Falk · 你能比较C预处理器中的两个常量指针吗? 11 月前 |
|
|
ma1169 · 宏:不应忽略void值 1 年前 |
|
|
Bhargav Patil · 运算符的大小并尝试打印数组 1 年前 |
|
|
David Robie · VIM:寄存器中填充字符断点宏的有向图 1 年前 |
|
|
Sofia Zaiafarova · 定义宏并使用数据类型查找绝对值 1 年前 |
|
|
Daniel Muñoz · C[重复]中类宏函数的语法 1 年前 |
|
|
SupAl · 避免在没有宏的情况下构建对象 1 年前 |