我一直在试图找到错误,我正在做一种编程语言并有下一个代码,使用 ragg,我有一个语法对象(resto ...),它有一个括号作为数据,我转换这个语法 -反对一个数据:
(let ([i (syntax->datum #'(resto ...))])
(display "Content i:")
(display i)
(if (eq? i (string->symbol "(})"))
(display "true")
(display "false")
)
)
输出是:
Content: (})
false
但如果我这样做
(for ([i (syntax->datum #'(resto ...))])
(displayln "Content:")
(displayln i)
(if (eq? i (string->symbol "}"))
(display "true")
(display "false")
)
)
输出是:
Content: }
true
我的问题: ¿ 为什么 LET 的 IF 是错误的?¿ 我可以比较这两种类型,如果没有 FOR,结果是否正确?
关于函数的文档: