functor(+複合項,-関数子,-引数の数) functor(-複合項,+関数子,+引数の数)
項である「複合項」の主関数子は、「関数子」という名前と「引数の数」を持っています。「関数子」はアトムで、「引数の数」は正の整数です。
最初に「複合項」の値が変数でない項になっているか、あるいは「関数子」と「引数の数」とが値を持っていなければなりません。これらの要件が満たされなければ、エラ−メッセ−ジが返されます。最初に「複合項」が値を持っていない場合には、呼び出しの結果は主関数子を示す最も基本的な表現になります。
?- functor(Struct,date,3).
Struct = date(_776,_780,_784) yes ?- functor([a,b,c,d],Functor,Arity).
Functor = . Arity = 2 yes ?- _
atom_expected 引数の値が正しく与えられていない structure_expected 引数の値が正しく与えられていない