1

私は Prolog でプログラミングしていますが、時々失敗したいのですが、代わりに例外が発生します。なぜそれらの違いが必要なのか理解できません。何かが実行できなかった場合、それは述語が成功しなかったことを意味するため、単純な失敗です。何か不足していますか?

4

1 に答える 1

3

失敗とは、証明しようとしていることが間違っていることを意味します。例外とは、証明しようとしていることが何らかの理由で意味をなさない (たとえば、アトムの平方根を計算しようとしている) か、システムの制限にぶつかった (たとえば、利用可能なメモリを使い果たした) ことを意味します。

ただし、次のように書くことで、例外を失敗に簡単に変換できます。

catch(Goal, _, fail)
于 2015-10-06T13:25:58.177 に答える