即使在为这个问题选择标题时我也遇到了问题。请随时编辑它。
我得到了这个Scheme代码并且不理解这个块。
(define (func b)
(match b
[(list (? symbol? x) rhs) ...
故障部分是(?符号?x)。我想这是某种比较器,但我在任何地方都找不到任何关于它的东西!它很难搜索,因为我不知道如何命名这个命令。
我想至少得到它的名字,进一步的解释表示赞赏。 =)
谢谢!
答案 0 :(得分:1)
刚刚找到它!
这是(match ...)语法的特定情况。在这里找到它:Pattern Matching
更具体:
(匹配val-expr子句......)
clause = [pat expr ... +]
| [pat(=> id)expr ... +]
pat is
pat :: = id [匹配任何内容,绑定标识符]
(...)
| (?expr pat ...)[匹配if(expr value)和pat]
所以我说得对:它正在检查x是否是符号。
我很幸运!请完成此主题! 非常感谢!