Prolog 脚本未正确加载

Prolog script not loaded properly

我正在尝试将我的 hw4.pl 加载到 swipl 中,但它似乎无法正常工作。我试过了

swipl -s hw4.pl

并在序言中 shell、

[hw4]. 
['hw4'].
consult('hw4.pl').

它会说 "true",但我没有看到 "complied" 行。

当我尝试查询时:

?- user(@anna).
ERROR: toplevel: Undefined procedure: user/1 (DWIM could not correct goal)

我的hw4.pl:

assert(user(@anna)).
assert(user(@tom)).
assert(user(@jeremy)).
assert(user(@lawrence)).

知道为什么吗?提前致谢!

这是我尝试加载您的文件时得到的结果:

ERROR: hw4.pl:1:13: Syntax error: Operator expected
ERROR: hw4.pl:2:13: Syntax error: Operator expected
ERROR: hw4.pl:3:13: Syntax error: Operator expected
ERROR: hw4.pl:4:13: Syntax error: Operator expected

我很确定 @ 不是有效的语法。将您的文件更改为

assert(user(anna)).
assert(user(tom)).
assert(user(jeremy)).
assert(user(lawrence)).

你应该没事。