私はこのコードを持っています:
[a,b,[]]=[First,Second,Third|Fourth].
次の出力が得られます。
First = a, Second = b, Third = Fourth, Fourth = [].
Thirdに配属された経緯を知りたいFourthです。
Prolog リストの実装方法の詳細については、https ://stackoverflow.com/a/7559044/467473 の私の回答を参照してください。
基本的に、プロローグ リストは単純なデータ構造です。空リストはアトムで表され[]ます。空でないリストは構造体./2です。この構造体の左の引数はリストの先頭です。右の引数は、別のリスト (空のリストまたは空でないリスト ( )) であるリストの末尾です。[]./2
わかりやすいリスト表記は、これに加えて単なる構文糖衣です。式[H|T]は式 とまったく同じ.(H,T)です。[a,b|T]と全く同じ表現です.(a,.(b,T))。そして、式[a,b,c]は とまったく同じ.(a,.(b,.(c,[])))です。