2012-01-09 11 views
3

Schemeには符号関数がありますか?私はそれに関する情報を見つけることができませんでした。スキームの署名機能?

x = 0のときは0、x> 0のときは1のときに-1を生成する関数として符号関数を定義します。

+3

をまあ、いずれかが存在しない場合には、それが必要x = 0の場合は0、そうでない場合はx/abs(x) – fge

+0

スキームの哲学はベースから構築されています。あなたはCLOSのように多くのライブラリを手に入れることはできませんが、好きなように何かを作ることができます。 @fgeによれば、あなたのSchemeにsign関数がない場合、それを作るのは簡単です。 – Amadan

答えて

10

ジャストビルトインsgnの手順を実行します。

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

あなたがそれを実装する方法を迷っている場合は...

(define (sign n) 
    (cond ((negative? n) -1) 
     ((positive? n) 1) 
     (else 0))) 
関連する問題