<< 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
|
<< lekcja 15 | lekcja 17 >> |