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))
) => slownikW 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) => threeSpis treści | Lekcja 15 | Lekcja 17