我正在使用flex,我有一个名为university的框架,它有大约100个实例。我想将它们存储在一个列表中,该列表是Prolog而不是Ksl的一部分并执行搜索操作。例如。该清单应仅包含位于美国的大学。谢谢:))
答案 0 :(得分:0)
要在Prolog中存储数据,通常将其添加到事实数据库中:
university(mit).
university(carnegie_mellon).
然后您可以自由地使用Prolog的内置搜索来实现谓词,或者使用它来为您提供setof/3
或findall/3
的事实列表,例如:
?- findall(university(X), university(X), Universities).
Universities = [university(mit), university(carnegie_mellon)].
你当然可以让university
个事实携带更多数据并使用它来过滤:
university('Oxford', uk).
university('MIT', usa).
?- findall(X, (university(X, uk)), Universities).
Universities = ['Oxford'].
这些是非常基本的例子。我担心你可能不得不花一些时间通过Prolog教程来进一步学习。听起来你需要更强的掌握这种语言才能完成你的任务,这与你知道的任何其他语言一样 nothing 。