在参考书目列表中搜索(序言)

时间:2011-04-23 14:15:51

标签: prolog

我有这个序言:

libro(autor('Chomsky', 'Noah'),
      titulo('Aspectos de la Teoría de la sintaxis'),
      editorial('Madrid', 'Aguilar'),
      fecha(1970)).

libro(autor('Matthews', 'P'),
      titulo('Inflectional Morphology'),
      editorial('Cambridge', 'Cambridge University Press'),
      fecha(1972)).

libro(autor('Chomsky', 'Noah'),
      titulo('Estructuras sintácticas'),
      editorial('Mexico', 'Siglo XXI'),
      fecha(1974)).

我需要找到乔姆斯基所写的所有书籍(在我的例子中)。什么是获得它们的rutine?

谢谢

1 个答案:

答案 0 :(得分:3)

您只需匹配模式autor('Chomsky',_),如下所示:

?- libro(autor('Chomsky',_),T,E,Y).
T = titulo('Aspectos de la Teoría de la sintaxis'),
E = editorial('Madrid', 'Aguilar'),
Y = fecha(1970) ;
T = titulo('Estructuras sintácticas'),
E = editorial('Mexico', 'Siglo XXI'),
Y = fecha(1974).

您需要输入分号才能获取下一个结果。

您还可以使用findall将所有结果作为列表获取,例如:

?- findall(libro(T,E,Y),libro(autor('Chomsky',_),T,E,Y),R).
R = [libro(titulo('Aspectos de la Teoría de la sintaxis'), editorial('Madrid', 'Aguilar'), fecha(1970)), libro(titulo('Estructuras sintácticas'), editorial('Mexico', 'Siglo XXI'), fecha(1974))].