2017-04-23 19 views
0

我想弄清楚的可能性,下面的语句转换成术语(没有关系),但没有辛格尔顿变量的警告:PERSON而编制。PROLOG - 可变无预警(无抑制)

亚历克斯喜欢每个喜欢冰淇淋的人。

我的以下逻辑得到我希望它删除的单身警告。代码工作正常,但。

likes(alex,likes(Person,icecreams)). 
+0

为什么这个代码“做工精细,虽然”? – false

+0

当我执行查询:喜欢(亚历克斯,喜欢(玛根,冰淇淋))。它的计算结果为真,可以是任何其他名称,变量。我认为它工作正常。任何建议将不胜感激。 –

+1

'likes(alex,Person): - likes(Person,icecreams).'对我来说更为正确。 – Rafalon

回答

0

下面给你一样你尝试没有警告:

likes(alex,likes(_,icecreams)). 
+0

太棒了!正是我想要的。 –