2012-01-09 45 views
3

確實計劃都有一個符號的功能?我找不到任何有關這方面的信息。Scheme中的簽名函數?

我定義符號函數爲產生-1的函數,當x < 0,0當x = 0和1,當x> 0。

+3

好了,如果沒有任何,它應該是「平凡的」寫之一:0,如果x爲0,X/ABS(x)的否則 – fge 2012-01-09 00:23:57

+0

方案理念是從底座向上建築;你沒有得到這麼多的圖書館在,比方說,CLOS,但你幾乎可以做任何你想要的,在塑造你喜歡的方式的語言。作爲@fge說 - 如果你的計劃不具有符號的功能,是微不足道的做一個。 – Amadan 2012-01-09 00:26:24

回答

10

只需使用內置sgn程序:

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

如果你想知道如何實現它?

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