ERROR: Stream user_input:8:5 Syntax error: Operator expected in Prolog
ERROR: Stream user_input:8:5 Syntax error: Operator expected in Prolog
我必须在 Prolog 中编写一个简单的专家系统来调度 类。在此代码部分,我希望该用户向系统添加一名讲师。为此,读取两个输入值但出现此错误。
addinstructor() :-
read(id),
read(courseid),
assert(instructor(id, courseid)),
write("added").
查询:
?- addinstructor().
5
cse102.
然后,我收到了操作员预期的错误。
我该如何解决这个问题才能使我的代码正常工作?
谓词 read/1 读取 Prolog 术语而不是原始数据。 Prolog 术语以句点结尾。
因此,如果您输入 5.
而不是输入 5
,则不会出现错误。
而不是使用 Term reading and writing, e.g. read/1
, you should use the predicates in Primitive character I/O for reading characters or Predicates that operate on strings for reading strings, e.g. read_string/3
中的谓词
要回答关于我如何实现它的下一个问题,请参阅 and then this。
我必须在 Prolog 中编写一个简单的专家系统来调度 类。在此代码部分,我希望该用户向系统添加一名讲师。为此,读取两个输入值但出现此错误。
addinstructor() :-
read(id),
read(courseid),
assert(instructor(id, courseid)),
write("added").
查询:
?- addinstructor().
5
cse102.
然后,我收到了操作员预期的错误。 我该如何解决这个问题才能使我的代码正常工作?
谓词 read/1 读取 Prolog 术语而不是原始数据。 Prolog 术语以句点结尾。
因此,如果您输入 5.
而不是输入 5
,则不会出现错误。
而不是使用 Term reading and writing, e.g. read/1
, you should use the predicates in Primitive character I/O for reading characters or Predicates that operate on strings for reading strings, e.g. read_string/3
要回答关于我如何实现它的下一个问题,请参阅