0
質問は単純です...なぜこれは機能しませんか?プロローグ、再帰関数、および関数の引数による戻り値
replace([l|[r|[r|[l|R]]]], Result) :- append([f,f],R,Result).
replace([HEAD|TAIL], Result) :- replace(TAIL, Y), append(HEAD,Y,Result).
?- replace([l,r,r,l,r,r],X).
戻り
X = [f, f, r, r] .
しかし
?- replace([r,l,r,r,l,r,r],X).
は
01を与えますfalse
なぜ、X = [r, f, f, r, r] .
?
助けてください。
PS。私はまだ英語を学んでいますが、時々私は愚かな間違いをしています。私は最善を尽くして、英語で質問と回答を書いていますが、間違いがあった場合に私の投稿を編集するととてもうれしいです。私は約束します、あなたの努力は無駄にならないでしょう。
うわー...ありがとう..今それはとても分かりやすいです:) – noisy