Lekcja 16
Spis treści | Lekcja 15 | Lekcja 17
16. Listy asocjacyjne
Wykorzystując listy łatwo można stworzyć strukturę zwaną listą asocjacyjną, w skrócie a-list. Lista asocjacyjna to lista, która zawiera elementy zwane wpisami. Każdy wpis też jest listą zawierająca klucz i jego wartość. Przykładowa lista mogąca służyć jako słownik polsko-angielski może mieć następującą postać:
16.1
(setq slownik '((jeden one) (dwa two) (trzy three) (cztery four) (piec five)) ) => slownik
W zaprezentowanej liście mamy pięć wpisów, a w każdym z nich kolejne nazwy liczb naturalnych są kluczami, a odpowiadające im nazwy angielskie – wartościami.
16.1 assoc
W LISP istnieje instrukcja pozwalająca w łatwy sposób docierać do elementów będących elementami listy asocjacyjnej – assoc. Ma ona postać (assoc ‘key a-list) i zwraca pierwszy wpis, którego klucz pokrywa się z key.
16.2
(assoc 'dwa slownik) => (dwa two)
Dzięki temu łatwo możemy napisać funkcję wykorzystujące listy asocjacyjne, np:
16.3
(defun tlumacz (slowo) (cadr(assoc slowo slowni)) ) => tlumacz (tlumacz trzy) => three
Spis treści | Lekcja 15 | Lekcja 17