Схема инвертирования значений - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь преобразовать #t в #f, #f в #t и отрицательное число в положительное и наоборот.

(define inverse
  (lambda (x)
    (cond ((eq? x #t) #f)
          ((eq? x #f) #t)
          (else - x))))

Это работает для логического значения, но не для числа.

1 Ответ

0 голосов
/ 25 апреля 2018

(else - x) не является действительной формой.Измените его на (else (- x)).

Кстати, вы можете обойтись без cond:

(define (inverse x) (if (boolean? x) (not x) (- x)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...