2つのリストを3番目のリストに結合する。
append/3 は、バックトラックで、第1リストと第2リストの結合が第3リストになるような、リストすべてを検索する。
第1リスト リスト 第2リスト リスト 第3リスト リスト
| append(X,Y,Z). | X <- [], Y <- _1, Z <- _1 の代入で、成功。 |
| append([l,i],[s,t],X). | X <- [l,i,s,t] の代入で、成功。 |
| append(X,Y,[a,b]). | 以下の代入で、3度成功。 X <- [], Y <- [a,b], X <- [a], Y <- [b], X <- [a,b], Y <- []. |
| append([a,b],X,Y). | X <- _345, Y <- [a,b|_345] の代入で、成功。 |
| append([a,b],f(y),Z). | Z <- [a,b|f(y)] の代入で、成功。 |
この述語は、ISO-Prolog 標準には含まれない。
| 冒頭へ |
|