Знак функции в схеме? - PullRequest
       10

Знак функции в схеме?

3 голосов
/ 09 января 2012

Есть ли у Scheme функция знака? Я не мог найти никакой информации об этом.

Я определяю функцию знака как функцию, которая выдает -1 при x <0, 0 при x = 0 и 1 при x> 0.

1 Ответ

11 голосов
/ 09 января 2012

Просто используйте встроенную sgn процедуру:

(sgn -10)
=> -1
(sgn 10)
=> 1
(sgn 0)
=> 0

На случай, если вам интересно, как это реализовать ...

(define (sign n)
  (cond ((negative? n) -1)
        ((positive? n)  1)
        (else 0)))
...