MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
For current customers, we continue to provide
professional support for IF/Prolog until Dec 31, 2008.
type_of(+項, ?型)
atom(+項) nonvar(+項)
atomic(+項) numeric(+項)
digit(+項) real(+項)
integer(+項) struct(+項)
letter(+項) var(+項)
atom/1は、「項」がアトムである場合に成功します。つまり、アリティ0で変数でない「項」です。
atomic/1は、「項」がアトム、整数、実数のいずれかの場合に成功します。
digit/1は「項」が1文字のアトムで、その文字がアラビア数字の場合に成功します。
integer/1は、「項」が整数の場合に成功します(整数式ではなく)。
letter/1は「項」が1文字のアトムで、文字がa-z, A-Zの字である場合に成功します。
nonvar/1は、「項」が変数でない場合に成功します。
numeric/1は、「項」が整数あるいは実数の場合に成功します。
real/1は、「項」が実数の場合に成功します。
struct/1は、「項」がPrologの複合項の場合に成功します。
var/1は、「項」が値を持たない場合に成功します。
?- atom(fred), atomic(44), real(5.0), digit('7').
yes
?- atom( name(fred) ).
no
?- digit('7'), X is maxint, Y is X // 2, integer(Y).
X = 268435455
Y = 134217727
yes
?- letter(a), nonvar(a(_,_)).
yes
?- _
typ_of/2は、Prolog項の型を決定します。
type_of (Term, Type) :-
member(Type, [var,struct,atom,intenger,real,
nonvar,atomic,numeric]),
call(Type, [Term]), !.
|