这是我正在撰写的一些代码
assert(bar(foo)),
assert(foo(bar-5)),
我不确定它是否有效。我试图让它将foo减少5.我需要一种方法来写foo的值,但是还没找到方法。
write('foo is' + foo)
对我来说是合乎逻辑的方式,但似乎不起作用。
答案 0 :(得分:1)
为了能够使用事实的价值,你必须先将其统一起来。统一是将未绑定的变量作为参数传递给谓词,在我们的例子中是bar(Moo)
:
facts
bar(integer)
foo(integer)
goal
assert(bar(42)),
bar(Moo),
Baz = Moo - 5,
assert(foo(Baz)),
write(Baz).