Какая польза от пар прологов внутри или вне списков

Я несколько раз встречал пары ключ-значение в документе SWI-PL, но не мог получить о них хорошей информации. Это что-то стандартное в прологе или это просто расширение только для 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].

И если это стандартно, есть ли какая-то польза от их использования? В чем их интерес? Заранее спасибо :)


person m09    schedule 08.11.2011    source источник


Ответы (1)


Возможность использовать keysort / 2 действительно является частой причиной выбора списка пар (с (-) / 2) в качестве представления. Это также удобная, короткая и читаемая нотация, а (-) / 2 уже является инфиксным оператором (да, «стандартным» в том смысле, что он предписан стандартом Prolog ISO). Использование пар (-) / 2, конечно, не ограничивается комбинациями ключ-значение, другие примеры включают id-variable, variable- «количество ее вхождений в термин» и т. Д., Где бы вы ни представляли двоичную ассоциацию. . Часто другие операторы более интуитивно понятны для представления таких ассоциаций, например, переменная = значение (вместо переменной-значение) для представления привязки переменной или строка + строка для представления конкатенации.

person mat    schedule 08.11.2011
comment
Хорошо, вот что я предположил, никакой дополнительной ценности, только случайный оператор, связывающий две вещи. Большое спасибо за разъяснение! :) - person m09; 09.11.2011