Gaucheプログラミング(立読み版) > 文法 > データ型 > 数値型 > 比較


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

比較 応援する 

数値を比較するための述語は以下があります。

  • =
  • <、<=、、>、>=

=は数値の等価性を確かめる述語です。実行例は以下です。

 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以下の範囲内か?
    ...
    ...)

[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation