由于某些原因,运行以下代码行:
(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后面的文字只是一个单一的参数,它怎么能匹配两个模式变量呢?