compare(-比較,+項1,+項2)
「項1」と「項2」を比較し、「比較」をその結果として返します。「比較」が取り得る値は、以下のものだけです。
'=' 「項1」が「項2」と等しいとき '<' 標準的な順序で「項1」が「項2」の前に来るとき '>' 標準的な順序で「項1」が「項2」の後に来るとき
よって、compare(=,「項1」,「項2」)は、 「項1」 == 「項2」 と等価です。
標準的な順序は以下の様になります。
変数 順序は不定 整数 通常の整数の順序で、実数より小さい 実数 通常の数値の順序 アトム アルファベット順、あるいはASCIIコ−ド順 複合項 アリティ、関数子、そして引数の順で順序付けられます。関数子は、その名前がアルファベット順あるいはASCIIコ−ド順で順序付けられます。引数は項でありうるので、以上に述べたことを再帰的に適用して順序付けられます。
?- compare( Op, [x], '.'(x,[]) ).
Op = (=)
yes ?- compare( Op, '.'(x,[]), a(x,[]) ).
Op = (<)
yes ?- compare( =, [x], T2 ).
no ?- _
| scroll to top |
|