LISPouczek



STRONA SAMOUCZKA JĘZYKA LISP  



powered by FreeFind
główna

lekcje

odnośniki

pliki
<< 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 >>