LISPouczek



STRONA SAMOUCZKA JĘZYKA LISP  



powered by FreeFind
główna

lekcje

odnośniki

pliki
<< lekcja 12 | lekcja 14 >>

13. Jawne wywoływanie funkcji

W LISP każda forma postaci (f list-arg) jeśli nie jest formą specjalną, traktowana jest jak wywołanie funkcji f z listą argumentów w postaci list-arg.

Istnieją również inne sposoby wywoływania funkcji oraz w szczegolności domknięć leksyklanych. Są to funcall oraz apply. Różnią się sposobem traktowania listy argumentów wywołania.


13.1 funcall

Instrukcja ta ma postać (funclall f list-args). Wszystkie argumenty występujące w list-args są przekazywane do f tak jak w wywołaniu (f list-args).

13.1
> (funcall #'+ 3 4) => 7

#'symbol jest skrótem instrukcji (function symbol). Zagadnienie to omówione jest w rozdziale poświęconym notacji lambda.


13.2 apply

Instrukcja ta działa podobnie jak funcall przy czy ostatni element listy list-args powinien być listą. Ten element jest dołączany do wcześniejszych argumentów, tak więc zapis (apply f list-args '(arg1 arg2 ...)) odpowiada (funcall f list-args arg1 arg2 ...).

13.2
(apply #'+ 3 4 '(3 4)) => 14



<< lekcja 12 | lekcja 14 >>