数値を比較するための述語は以下があります。
=は数値の等価性を確かめる述語です。実行例は以下です。
gosh> (= 1 1)
#t
gosh> (= 3 5)
#f
gosh> (= 3.3 3.3)
#t
また、複数の値の等価性を確かめることもできます。
gosh> (= 1 1 1)
#t
gosh> (= 3 3 3 4)
#f
残りの述語は数値の大きさを比較するための述語です。使い形は=と同じで複数の数値を渡すことができます。
gosh> (<= 1 2)
#t
gosh> (> 2 4)
#f
gosh> (< 3.333333333333333 3.333333333333334)
#t
また以下の式の場合
(<= obj1 obj2 ... objN)
以下の条件が成り立てば真となります。
obj1 <= obj2 <= ... <= objN
複数の値の大小比較は例えば以下の場合に使えます。
月の値は1から12までの範囲です。月の値をmとすれば、
ごく単純には以下のとおりに書けます。
(if (and (>= m 1) ;; 月の値mが1以上、かつ、
(<= m 12)) ;; 月の値mが12以下か?
...
...)
数値比較手続きは可変個の引数をとれるので、以下のとおり書くことができます。
(if (<= 1 m 12) ;; 月の値mが1以上12以下の範囲内か?
...
...)
by eji
Trackback URL: http://karetta.jp/trackback/book/007067/007071 Trackbacks: |