eval

Wyszukaj w słowniku

Dostępne słowniki:

Termin Definicja
eval

wykonuje wyrażenie

Przykład:

(eval (+ 3 1) zwraca wartość 4
Dzięki połączeniu z funkcją (read) można wykonywać bardzo złożone operacje.
Można np opracować kalkulator, który będzie interpretował działania wpisane tekstowo
np:

(setq operand (read "+"))
(eval (list operand 22 33 4))
zwóci wartość 59
natomiast
(setq operand (read "max"))
(eval (list operand 22 33 4))
zwróci 33

W analogiczny sposób można zrobić np wczytywanie konfiguracji programu z pliku tekstowego ini.

ćwiczenie do samodzielnego wykonania: Jak miałby wyglądać zapis LISPowy interpretujący następujące wyrażenie:
( setq wyrazenie "42+58")