Я кодирую функцию в схеме, но получаю сообщение об ошибке «приложение: не процедура; ожидается, что процедура может быть применена к аргументам». Я предполагаю, что неправильно использовал условные операторы:
(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))))
'())))))
Если кто-то может указать на мою ошибку, это будет очень признательно.
site:stackoverflow.com "application: not a procedure"
выдает множество результатов на Stack Overflow, и все они касаются неуместных скобок. Поиск точных сообщений об ошибках является хорошей практикой. Кроме того, разве редактор Racket не выделяет где проблема, как показано в дубликате, на который я ссылаюсь? - person Joshua Taylor   schedule 29.10.2014