2016-11-23 3 views
3

私はlispのフレンドリーな紹介としてRacketを見ていますが、私は何かが欠けています。私は角度を単純化する必要があるので、n mod 360を得るために必要なのはすべてです。問題はnが10進数である可能性があります。私はドキュメントを調べましたが、"remainder""modulo"はどちらも整数を期待しています。Racketの残りの部分はどのようにして得られますか?

flonum moduleは有望ですが、%関数があるようには見えません。

私はこの表現としてそれを再実装することになった、十分に機能している:

(define (float-modulo n m) 
    (- n (* (floor (/ n m)) m))) 

しかし、これはすでにサポートされている場合、私はむしろそれをしないと思います。

答えて

2

ラケットがrnrs/base-6ライブラリを経由してR6RS除算演算子を提供し、これを行うことができます:

(require rnrs/base-6) 
(mod 370.25 360) 
> 10.25 
関連する問題