prolog从化合物中获得一个术语

hib*_*wes 5 prolog

我得到这个复合词:

e(currentNode,"http://localhost:9000/")
Run Code Online (Sandbox Code Playgroud)

我怎样才能http://localhost:9000/与该化合物分开?或者更少,有没有办法将复合词转换为字符串或列表?

ffe*_*rri 2

一般来说,您可以使用统一来实现:

e(currentNode,"http://localhost:9000/") = e(_,X).
Run Code Online (Sandbox Code Playgroud)

将绑定"http://localhost:9000/"X.

当您通过将变量代替查询中的术语来隐式地使用统一时,例如:

?- comp(e(_,X)).
Run Code Online (Sandbox Code Playgroud)

将绑定到每个匹配结果X的第二个参数。e