Вопрос о создании функции абсолютного значения в схеме - PullRequest
0 голосов
/ 27 января 2020

В настоящее время я только начинаю работать над Структурой и Интерпретацией компьютерного программирования, и в разделе рассматривается создание функции абсолютного значения в Схеме (принимает значение и возвращает его абсолютное значение).

Я точно следую, как книга выполняет функцию:

(define (abs x)
  (cond ((< x 0) (- x))
        (else x)))

К сожалению, это не дает желаемого результата, как говорится в книге. Вместо того, чтобы возвращать абсолютное значение, оно просто возвращает значение. Например, я набираю -5, функция возвращает -5.

Если это поможет, я использую интерпретатор BiwaScheme (0.6.4).

Любая помощь очень ценится, спасибо.

1 Ответ

1 голос
/ 27 января 2020

Чтобы вызвать функцию, заключите ее имя в круглые скобки вместе с любыми аргументами, которые вы sh предоставите. Например,

> (abs -5)
5

Конечно, если вы просто наберете -5, вы не вызываете какие-либо функции, в частности abs, с ним:

> -5
-5

Числовое значение c просто возвращается как есть, так как вызов функции не указан.

...