2

私はこのコードを持っています:

 [a,b,[]]=[First,Second,Third|Fourth].

次の出力が得られます。

 First = a, Second = b, Third = Fourth, Fourth = [].

Thirdに配属された経緯を知りたいFourthです。

4

2 に答える 2

2

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,[])))です。

于 2013-10-22T17:18:22.057 に答える