2015-12-25 7 views
7

私はPrologを初めて利用しています。私は学ぶために簡単な例を試しています。SWI-Prologはなぜ私に最初の答えを与えてくれるのですか?

parent(pam,bob). 
parent(tom,bob). 
parent(tom,lio). 
parent(bob,ann). 
parent(bob,pat). 
parent(pat,jim). 

コンサルティング、テストの後、それが唯一の最初の答えを示しています。私は、これらの行でこの.plファイルを持っています。たとえば:

5 ?- parent(X,Y). 
X = pam, 
Y = bob . 

それは関係parentを満たすすべての組み合わせを与えることになっていませんか?

問題は何ですか?

+1

最初の結果が表示された後にEnterキーを押してください。代わりに –

+0

のスペースバーを使用してください。援助のためのThanx。 –

+1

私はこれを唯一のものではないと感じているので、これを答えとして追加しました。 –

答えて

8

使用し、あなたの最初の結果のショーの後に入力してヒットしないスペースキーの代わりに

  • [Enter]
  • [Spacebar][;]がにあなたの最後の結果からバックトラックを継続し、バックトラックがまだ完了していない場合でも、実行を停止します他の結果が残っていない場合はfalseとなります。
+1

今後の読者のために、スペースとエンターの違いについても説明できますか? –

+0

私はそれがすでにはっきりしていると思ったが、もしそうでなければ、これがやりたいと思う。ありがとう。 –

関連する問題