Scheme 应用:不是一个程序
我正在学习这个计划。在练习期间(尝试在注册表中查找特定值)。运行这段代码时,我收到错误消息:Scheme 应用:不是一个程序,scheme,racket,Scheme,Racket,我正在学习这个计划。在练习期间(尝试在注册表中查找特定值)。运行这段代码时,我收到错误消息: application: not a procedure; expected a procedure that can be applied to arguments given: (342 "Bike" piece 250) arguments...: [none] 有关守则: (define get-post (lambda (post varunr) (define find-pos
application: not a procedure;
expected a procedure that can be applied to arguments
given: (342 "Bike" piece 250)
arguments...: [none]
有关守则:
(define get-post
(lambda (post varunr)
(define find-post
(lambda (post)
(cond (null? post) (display "Errormessage-For-User")
(member varunr (car (car post)))(car post)
(else (find-post (cdr post))))))
find-post (post))) ;; <--- Here's the error message
(定义get post
(lambda(后瓦伦)
(定义find post
(lambda(员额)
(条件(空?post)(显示“用户错误消息”)
(成员varunr(车(车岗))(车岗)
(其他(查找帖子(cdr帖子(()()))))
找到职位(职位)) 试试这个:
(define get-post
(lambda (post varunr)
(define find-post
(lambda (post)
(cond ((null? post) (display "Errormessage-For-User"))
((member varunr (car (car post))) (car post))
(else (find-post (cdr post))))))
(find-post post)))
记住:在Scheme中,函数的调用是这样的:(fx)
,而不是这样的:f(x)
。在条件
表达式中,每对条件/表达式都必须被()
包围。您必须小心放在括号中的位置,使用IDE的语法突出显示和格式化功能来避免类似的错误