Scheme-Source 表达式无法匹配任何模式
Scheme-Source expression failed to match any pattern
我正在用 Scheme 编写一个程序来操作一些列表和一些自定义类型。我写了下面的短代码,它给了我以下错误:
Source expression failed to match any pattern
为什么会出现这个错误?我认为这是因为我使用了 let* 但我仔细检查了语法并且我的用法是正确的。这是我的代码:
(define (create-evaluation-link wp)
(define x (get-first-word wp))
(define y (get-second-word wp))
(if (null? (ListLink x y))
((EvaluationLink
(MSTLinkNode "MA")
(ListLink x y)))
(let* ((ll (ListLink x y))
(in (cog-incoming-set ll))
(mst (get-mst-node in))))))
我是不是做错了什么?
get-mst-node 是本例中的一个函数。
您的 let*
表单缺少 body(使用绑定的代码)。即使 body 只是 returns mst
,像这样:
(let* ((ll (ListLink x y))
(in (cog-incoming-set ll))
(mst (get-mst-node in)))
mst)
我正在用 Scheme 编写一个程序来操作一些列表和一些自定义类型。我写了下面的短代码,它给了我以下错误:
Source expression failed to match any pattern
为什么会出现这个错误?我认为这是因为我使用了 let* 但我仔细检查了语法并且我的用法是正确的。这是我的代码:
(define (create-evaluation-link wp)
(define x (get-first-word wp))
(define y (get-second-word wp))
(if (null? (ListLink x y))
((EvaluationLink
(MSTLinkNode "MA")
(ListLink x y)))
(let* ((ll (ListLink x y))
(in (cog-incoming-set ll))
(mst (get-mst-node in))))))
我是不是做错了什么?
get-mst-node 是本例中的一个函数。
您的 let*
表单缺少 body(使用绑定的代码)。即使 body 只是 returns mst
,像这样:
(let* ((ll (ListLink x y))
(in (cog-incoming-set ll))
(mst (get-mst-node in)))
mst)