了解如何在Prolog中使用仿函数

时间:2016-02-27 16:45:07

标签: prolog

我在Prolog中有这个数据库。 I'm trying to write a query that will return the names of all the people who own a honda

我知道怎么用汽车或卡车拥有(X,汽车(本田,))。 ,但我不确定如何同时从汽车,卡车和摩托车归还所有车主。

任何帮助将不胜感激我已经坚持了一段时间。

owns(bill, car(ford, mustang, 1964)).
owns(sue, car(pontiac, gto, 1967)).
owns(george, car(honda, civic, 2013)).
owns(betty, truck(ford, f150, 2013)).
owns(henry, motorcycle(honda, goldwing, 2010)).

1 个答案:

答案 0 :(得分:2)

您可以使用univ / 2

?- owns(Person, Owned), Owned =.. [_, honda|_].

arg / 3

?- owns(Person, Owned), arg(1, Owned, honda).
相关问题