2012-01-13 9 views
0

リストが別のリストを処理するときに成功する引数を作成したいと思います。リストがプロローグ内の別のリストを処理するかどうかをチェックする方法

例:?-proceed_list([1,2]、[2])。 YesまたはTrue(コンパイラに関係なく)。

誰でも手伝ってもらえますか?

+0

あなたの質問を言い換えるか、明確にすることはできますか? – aqua

+0

はい問題ありません。私は議論をしたい、リストYがリストXを進むときに成功するproceed_list(X、Y)という名前をつけたい。リストYはリストXの後ろにあるアイテムを持つ。例えば[1,2,3]が進む[1,2]。たとえば、prolog?-proceed_list([1,2]、[2])を尋ねると、答えはYesになります。それが助けてくれることを願っています – Pantheo

答えて

3

あなたの質問は解析が難しいです。コメントしたように、あなたはそれを言い換えるべきです。それは価値があるので、私はあなたの例が、最初の[1,2]の尾部であるかどうかを確認したいということを理解しています(つまり、「続行」という意味で「進む」)。それがあなたの望むものなら、これはうまくいくはずです:

proceed_list(L1, L2) :- 
    once(append(_, L2, L1)). 
+0

本当にtwintererありがとうございます。私は将来私の質問にもっと具体的にしようとします。 – Pantheo

+1

@Pantheo:btw twintererの回答者が好きな場合は、彼の答えのチェック兆候をクリックして受け入れることができます:) – m09

+0

何がプロローグに追加できませんか? – DaveEdelstein

関連する問題