0
我认为这是一个非常简单的问题,但我仍然无法解决它。SWI Prolog等价
如何在Prolog中定义两个方向的逻辑结果?
例如我的数据库包含此:
need_umbrealla(X) :- rainy(X).
rainy(X) :- need_umbrealla(X).
它总是导致永久性的循环,如果我的要求去做
rainy(X).
我的解释。
我能在那里做什么?
感谢您的帮助=)
我认为这是一个非常简单的问题,但我仍然无法解决它。SWI Prolog等价
如何在Prolog中定义两个方向的逻辑结果?
例如我的数据库包含此:
need_umbrealla(X) :- rainy(X).
rainy(X) :- need_umbrealla(X).
它总是导致永久性的循环,如果我的要求去做
rainy(X).
我的解释。
我能在那里做什么?
感谢您的帮助=)
您声明为阴雨变量X是需要一把伞同一个变量。什么是X?天气需要雨伞吗?
你可以只声明:
needs_umbrella(X , rainy).
与要求:
needs_umbrella(monday, rainy).
true
needs_umbrella(monday, sunny).
false
谢谢,它帮助! – patrickkr
应该是什么'阴雨(X)'的输出? –
查看[标签:failure-slice] – false
@WillemVanOnsem当前天气,据说是:) –