apohllo.pl
więcej niż strona domowa...
 

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

lisp | Opublikowano 13:01 29-11-2010. Ostatnia modyfikacja 07:40 30-11-2010 |
comments powered by Disqus