| 複合項を作るか、関数子とアリティを決定する。
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.
|