2

次のテスト ケースを実行しようとしています。

test :- assertz(abc : uvw(1)).

上記は SWI-Prolog で動作します。しかし、ECLiPSe Prolog で動作させるのに問題があります。次のエラーが表示されます。

trying to redefine an existing imported procedure in assertz(abc : uvw(1))

abc:uvw/1 をインポートしていません。存在しません。ECLiPSe Prolog で test/0 を正常に実行できるフラグはありますか?

よろしくお願いします

編集: PS: 次の言い回しも機能しません。

test :- abc : assertz(uvw(1)).

その後、次のエラーメッセージのみが表示されます。

lookup module does not exist in abc : assertz(uvw(1)) in module eclipse
4

1 に答える 1

3

ECLiPSe は @-アノテーションを使用して、述語のコンテキスト モジュールを指定します。

test :- assertz(uvw(1)) @ abc.

http://www.eclipseclp.org/doc/bips/kernel/control/A-2.htmlも参照してください。

于 2014-03-29T23:08:46.147 に答える