Scheme中的符号函数是什么?

3
Scheme有符号函数吗?我找不到任何相关信息。
我将符号函数定义为当 x<0 时产生-1,当 x=0 时产生0,当 x>0 时产生1的函数。

3
如果不存在的话,编写一个应该是“微不足道”的:如果 x 等于 0,则为 0;否则为 x/abs(x)。 - fge
Scheme 的哲学是从基础开始构建;与 CLOS 等语言不同,你并不会得到很多库,但你几乎可以制作任何想要的东西,以自己喜欢的方式来塑造语言。正如 @fge 所说 - 如果你的 Scheme 没有符号函数,那么制作一个是非常简单的。 - Amadan
1个回答

12

直接使用内置的sgn过程:

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

如果你想知道如何实现它...

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接