私はProlog Tutorial 2.1の後にいます。Prolog:変数の可能な値をすべて取得する
プログラム
adjacent(1, 2).
adjacent(1, 3).
adjacent(1, 4).
main:-
adjacent(1, R),
write(R).
プリント2
。
しかし、それは、チュートリアルに従って、可能な値のリストを印刷するには想定:
?- adjacent(1,2).
yes
?- adjacent(1,3).
no
?- adjacent(1,R).
R = 2 ;
R = 3 ;
R = 4 ;
no
私は同じ結果を得るために、REPLに再度お試し:
?- adjacent(1, R).
R = 2 .
はどうやって得ることができます/変数の可能な値のリストを出力しますか? swiplで
あなたはを返しました。返信! Spaceを押すと、次の回答が得られます。 – false
'adjacent(1,3).'は' yes'になります。あなたが目に見えない、まともなことをしていないことがあります。 – lurker
@false私はreplで作成しますが、 'swipl -q -f Adjacent.pl -t main'のようなスクリプトとしてプログラムを実行すると、その価値をどのように得ることができますか? – Wentao