1
Prologでカットを使用しています。なぜ以下を返すために、次のクエリの効果がある:Prolog Cut Query
?- !,false.
no
まだこのクエリは次の値を返します。
?- !;false.
yes
Prologでカットを使用しています。なぜ以下を返すために、次のクエリの効果がある:Prolog Cut Query
?- !,false.
no
まだこのクエリは次の値を返します。
?- !;false.
yes
最初のクエリは上のANDを実行します! (常にyesを返します)、falseを返します。常にfalseを返します。はい、いいえ=いいえ。
2番目のクエリでは、!最初のブランチに実行をコミットします。つまり、!は常にyesを返します。
';'は '!'の存在下で論理ORと同じように動作しません。たとえば、 'parent(X): - !false; father(X).'は常に' no'を返します。 – svick
もちろん、それは完璧な意味があります。私はそれに応じて、答えを編集しました! – levinia