Scheme 标识错误后的多个表达式
代码如下:Scheme 标识错误后的多个表达式,scheme,Scheme,代码如下: (define path (lambda lst start end) (let ((nodes (car lst)) (edges (cdr lst))))) 为什么这会导致错误 您误用了lambda关键字,函数体不完整 (define path (lambda (lst start end) (let ((nodes (car lst)) (edges (cdr lst))) ; here should b
(define path (lambda lst start end)
(let ((nodes (car lst))
(edges (cdr lst)))))
为什么这会导致错误 您误用了
lambda
关键字,函数体不完整
(define path (lambda (lst start end)
(let ((nodes (car lst))
(edges (cdr lst)))
; here should be expression, i think with lst, nodes and edges
)))
注意:当你说“谁能帮我解决这个错误”时,请包括你看到的错误信息。你的整个程序本身不可能是个错误。但它可能包含错误,当您尝试运行它时,它可能会生成错误消息
我假设您看到了错误消息。下次也包括这些。同时告诉我们你希望看到什么。你期望得到你看到的错误吗
您应该包含实际错误消息的原因是,您看到的问题甚至可能与您认为的问题无关。在这种情况下,错误消息允许我们确保在解决您的问题时走在正确的轨道上
看看你的程序,我认为它在语法上是不完整的。A至少需要有一个
主体
,否则根据语言规则,它是不符合语法的。以下区域没有尸体:
(let ((nodes (car lst))
(edges (cdr lst)))
)
(如果尝试使用if
语句,但不包括测试,则会出现类似于C语言的错误消息。)
至少,您可以包含某种占位符,直到您确定您真正需要在其中放置什么。例如:
(let ((nodes (car lst))
(edges (cdr lst)))
"fixme")
应至少使程序在语法上可接受。虽然它还没什么用处。我怎么简单地说nodes=car lst。你是这么说的;在
let
(paul在其中添加注释)的主体中,节点将绑定到表达式(car lst)
的结果。如果希望path
返回该值,则需要对其进行评估。