Je výhodné implementovať funkciu ktorá vracia n-tý prvok zoznamu. Tú potom použijeme v hlavnej funkcií na daný riadok poľa.
; Prvok určený súradnicami x y (x-stlpec y-riadok)
; Za prvú považujem súradnicu 0.
; Vráti prvok zoznamu. Ak chyba NIL.
(defun vrat (poz zoz)
(cond ((null zoz) NIL)
((= poz 0) (first zoz))
(T (vrat (- poz 1) (rest zoz)))
)
)
Príklady:
(vrat 1 '(a b c)) -> b
(vrat 5 '(a b c)) -> NIL
; Hlavná funkcia.
; Ak chyba vráti NIL. (x-stlpec y-riadok)
(defun vratprvok (x y pole)
(cond ((null pole) NIL)
((= y 0) (vrat x (first pole)))
(T (vratprvok x (- y 1) (rest pole)))
)
)
Príklad:
(vratprvok 1 2 '((a b c)(d e f)(g h i))) -> h