functor/3

複合項を作るか、関数子とアリティを決定する。

functor(+複合項, -関数子, -アリティ)
functor(-複合項, +関数子, +アリティ)

もし、複合項 が複合項ならば、関数子は、 複合項の関数子で、アリティ は、 複合項のアリティとなる。
もし、複合項 がアトミック項 (an アトム or a 数) ならば、関数子 は、そのアトミック項で、アリティ は、0となる。
もし、複合項 が変数ならば、関数子は、アトミック項、アリティは 0 から 127 までの整数でなければならない。 もし、<関数子>はアトムでないなら、そのアリティでなければならない。

引数

複合項           複合項 または アトミック項
関数子           アトミック項
アリティ         整数 または 整数表現 (0 から 127 まで)

functor(f(a,b,c),F,A). F <- f, A <- 3 の代入で、成功。
functor(X,functor,3). X <- functor(_1, _2, _3) の代入で、成功。
functor(f(X),f,2). 失敗

標準

この述語は、ISO-Prolog 標準に含まれる。

関連

arg/3, copy_term/2, '=..'/2.


戻る 続く..