![]() |
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的文档),我用语法分析对您的示例进行了编码,并按照您的预期进行了缝合。 |
![]() |
David J. · 这个基本的scheme函数有什么问题 3 年前 |
![]() |
Asher · 如何使用DrRacket遵循简单方案手册 7 年前 |
![]() |
Flux · 如何从MIT方案访问环境变量? 7 年前 |
![]() |
Adam Morad · 方案反转值 7 年前 |
![]() |
Adam Morad · 方案更改树值 7 年前 |
![]() |
lightning_missile · 词法范围和共享对象 7 年前 |