You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Problog查询query(member(one, [one,two,three]))报错原因咨询

问题解答

ProBlog 不像标准 Prolog 那样默认内置 member/2 谓词,你遇到的错误就是因为系统找不到这个谓词的定义代码。解决方法很简单,先手动定义 member/2 的规则,再执行查询即可。

具体操作:

  1. 先在代码中添加 member/2 的子句定义:
% 子句1:若X是列表的首个元素,则X是该列表的成员
member(X, [X|_]).
% 子句2:若X是列表尾部T的成员,则X是整个列表的成员
member(X, [_|T]) :- member(X, T).
  1. 再执行你的查询语句:
query(member(one, [one,two,three])).

这样就能得到预期的 true 结果了。

内容的提问来源于stack exchange,提问作者Toni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 11:44:50