【发布时间】:2020-12-10 12:11:39
【问题描述】:
得到了以下深度搜索程序,但是 depthsearch 谓词始终标记为红色,因此我无法运行该程序。有什么问题?
node(a).
node(b).
node(c).
node(d).
node(e).
node(f).
node(g).
node(h).
node(i).
node(j).
s(a,b). s(a,c).
s(b,d). s(b,e).
s(c,f). s(c,g).
s(d,h).
s(e,i). s(e,j).
goal(j).
goal(f).
depthfirst2( Node, [Node], _) :-
goal( Node).
depthfirst2( Node, [Node | Sol], Maxdepth) :-
Maxdepth > 0,
s( Node, Node1),
Max1 is Maxdepth - 1,
depthfirst2( Node1, Sol, Max1).
【问题讨论】:
-
这是在 Swish 上吗?它将在同一程序/段中未使用的任何内容标记为已读,因此您实际调用的一个谓词将被“标记为已读”(如“未调用”或“未使用”)我猜这是一个错误/嗖嗖声的特点。据我所知,着色与桌面 IDE 使用的颜色相同,这种着色更有意义。
-
不清楚正在使用哪个 prolog 以及在哪里看到“红色”。
标签: prolog predicate swi-prolog