0
を使用して簡単な追加関数を解くと、これはその答えだと思います。私たちがプロローグで関数を追加するとき、プロローグ言語
append([],L,L)
append([H|T],L,[H|R]):- append(T,L,R).
しかし、私はそれの明確な意味を持っていません。私にそれを教えてください。キャラクター「L」の意味は?目的???
を使用して簡単な追加関数を解くと、これはその答えだと思います。私たちがプロローグで関数を追加するとき、プロローグ言語
append([],L,L)
append([H|T],L,[H|R]):- append(T,L,R).
しかし、私はそれの明確な意味を持っていません。私にそれを教えてください。キャラクター「L」の意味は?目的???
一般に、あなたの追加述語には3つの引数(L1
)があります(この行には筆跡を付けてください)[append([H | T]、L、[H | R]): 、L2
、L3
):L3
はL2
の前にL1
を追加起因するリストである場合
append(L1, L2, L3)
追加がわかります。
append([],L,L)
あなたはAPPENDのための基本ケースを与える(すなわち、いくつかのリスト、L
に追加空のリストの結果であり、どのような結果は、単に元のリストである、L
。):最初のケースについては
。
あなたの第二のケースは、あなたがH
は、第1の入力リストと結果のリストの先頭である他のいくつかのリスト[H|R]
を作成するために別のリストL
の前に付加されるいくつかのリスト[H|T]
を証明することができる方法を説明します。
append([H|T],L,[H|R]):- append(T,L,R).
この規則の第二部は、1つのリストR
がL
にT
(元の入力リストの末尾)を追加した結果であることを証明できる場合にのみ真であると述べています。