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