如何根据用户输入断言新规则 (PROLOG)
我想接受用户的输入,即[garfield,hates,blacky]
。 hates/2
当前不存在。
在我的数据库中,
process:-
read(Input_List),
add_rule(Input_List).
add_rule([X, Predicate, Y]):-
assertz(Predicate(X, Y)).
但这不起作用。是否可以使用变量作为谓词和事实? 或者还有其他方法可以实现这一目标吗?
I want to accept users' input, i.e. [garfield, hates, blacky]
.hates/2
doesn't exist currently.
In my database,
process:-
read(Input_List),
add_rule(Input_List).
add_rule([X, Predicate, Y]):-
assertz(Predicate(X, Y)).
But this doesn't work. Is it possible to use a variable as predicate, and facts?
Or is there any other way to achieve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用名为 univ 运算符:
用法:
You can use the
(=..)/2
operator called univ operator :Usage :