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的语法突出显示和格式化功能来避免类似的错误