0

私は単純に次のようなプロローグで条件付きを実行しようとしています:

((Life == dead)-> Trans = no)。

上記のコードは、Life ==デッド、次にTrans = noのように評価されると思いましたが、何らかの理由でそうではありませんか?ありがとう。

4

1 に答える 1

3

私のために働く:

?- ((Life==dead)->Trans=no).
false.

?- Life = dead, ((Life == dead) -> Trans=no).
Life = dead,
Trans = no.

Life == dead は、Life がすでに Dead にバインドされている場合にのみ true になります。

また、これは実際にはめったに必要とされないというかなり奇妙な構造であり、 (x -> y ; z) の方がはるかに一般的です。

于 2009-10-28T20:06:29.253 に答える