列表中或列表外的prolog对有什么用处

时间:2011-11-08 15:32:05

标签: prolog iso-prolog

我在SWI-PL文档中遇到过几次Key-Value对,但无法获得有关它们的良好信息。这是prolog中的标准内容还是仅仅是swi pl扩展? 主要在这里找到:http://www.swi-prolog.org/pldoc/doc_for?object=keysort/2 在这里:http://www.swi-prolog.org/pldoc/doc_for?object=section%282,%27A.3%27,swi%28%27/doc/Manual/assoc.html%27%29%29

对的形式例如是a-5,或者在列表[a-5,b-7]中。

如果它是标准的,那么使用它们还有附加价值吗?他们的兴趣是什么?在此先感谢:)

1 个答案:

答案 0 :(得分:7)

能够使用keysort / 2确实是选择对列表(用( - )/ 2)作为表示的常见原因。它也是一种方便,简短且易读的符号,( - )/ 2已经是一个中缀运算符(是的,“标准”,因为它是由Prolog ISO标准规定的)。 ( - )/ 2对的使用当然不限于键值组合,其他示例包括id变量,变量 - “术语中出现次数”等等,无论您在何处表示二元关联。通常,其他运算符更直观地表示此类关联,例如variable = value(而不是variable-value)表示变量的绑定,或string + string表示连接。