biuro@zwcad.pl
wykonuje wyrażenie
Przykład:
(eval (+ 3 1) zwraca wartość 4Dzię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 tekstowonp:
(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")