Печать в схеме - PullRequest
       3

Печать в схеме

0 голосов
/ 28 марта 2020

Я испытываю некоторые затруднения при печати строки в схеме после использования условия и получаю следующую ошибку:

application: not a procedure;
 expected a procedure that can be applied to arguments
  given: #t
  arguments...:

Не могу понять, что с ней не так, и был бы признателен за любую помощь .

(define (neg int)
  (cond
    (((< int 0) (display "negative"))
     (* int (-1)))))

1 Ответ

0 голосов
/ 28 марта 2020

У вас слишком много скобок в начале вашего состояния; вам нужно два, а не три. Помните, что в Схеме, если вы окружаете что-то между (), это становится функциональным приложением! Вот почему это не имеет смысла: (-1), потому что -1 это не функция, это число. Кроме того, что вы будете делать, если значение не отрицательное? Тебе тоже нужно разобраться с этим делом! Попробуйте это:

(define (neg int)
  (cond ((< int 0)
         (display "negative ")
         (* int -1)) ; or better: (- int)
        (else
         (display "positive ")
         int)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...