gpt4 book ai didi

scheme - Racket 宏语法匹配方括号

转载 作者:行者123 更新时间:2023-12-01 09:49:50 24 4
gpt4 key购买 nike

出于某种原因,运行这行代码:

(TEST '("A"))

匹配语法定义:

(define-syntax TEST
(syntax-rules ()
[(TEST [<table> <name>])
(print "Should not be here")] ;This statement is executed
[(TEST <table>)
(print "Should be here")] ;This should be executed but is not
))

这怎么可能?这对我来说没有意义,因为 TEST 之后的文字只是一个参数。它如何匹配两个模式变量?

最佳答案

读者转'("A")进入(quote ("A")) .这意味着 (TEST '("A"))变成 (TEST (quote ("A"))) .

这解释了为什么模式 (TEST [<table> <name>])火柴。子模式 <table>火柴quote<name>火柴("A") .

关于scheme - Racket 宏语法匹配方括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40064036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com