arg(+引数の位置_式,?複合項,?引数)
最初、「引数の位置_式」は正の整数の値をとらなければならず、かつ「複合項は複合項」でなければなりません。呼び出しの結果、「引数」が「複合項」の「引数の位置_式」番目の引数と単一化されます。引数は、1から順に、より大きな番号がつけられます。初期条件が満たされていなかったり、または「引数の位置_式」が範囲外であったりすると、呼び出しは失敗します。3つの引数の全てが値を持つ場合には、IF/Prologはそのステ−トメントを証明しようとします。
?- arg(2,related(abram,isaac,jacob),isaac). yes ?- arg(2,[x,y,z,zz],Arg). Arg = [y,z,zz] yes ?- arg(2,related(_,A,_),isaac). A = isaac yes ?- _
注意: "[x,y,z]"は、".(x,.(y,.(z,[])))"の省略形です。
integer_expected 第1引数が整数でない structure_expected 第2引数が複合項でもアトムでもない out_of_range 複合項の引数の数が少なすぎる
| scroll to top |
|