【发布时间】:2020-11-01 21:46:32
【问题描述】:
我正在编写一个方案中的函数,但我得到一个“应用程序:不是过程; 期望可以应用于参数的过程”错误。我假设我没有正确使用条件语句:
(define find-allocations
(lambda (n l)
(if (null? l)
'()
(cons ((if (<=(get-property (car l) 'capacity) n)
(cons (car l) (find-allocations (- n (get-property (car l) 'capacity)) (cdr l)))
'()))
(if (<=(get-property (car l) 'capacity) n)
(cons (car l) (find-allocations (n (cdr l))))
'())))))
如果有人能指出我的错误,将不胜感激。
【问题讨论】:
-
这并没有显示出大量的研究工作;在 Google 上搜索
site:stackoverflow.com "application: not a procedure"会在 Stack Overflow 上找到 很多 个结果,而且都是关于放错位置的括号。搜索确切的错误消息是一个很好的实践。另外,Racket 的编辑器没有突出显示问题的哪里,如我链接到的副本所示?
标签: scheme racket non-procedure-application