Files
Snippets/Lisp.md
T
2026-09-14 20:28:21 +02:00

1.0 KiB

Lisp

Variablen

Globale Variablen

defparameter

defparameter: Definiert eine globale Variable und weist ihr sofort einen Wert zu. Ein erneutes Laden überschreibt den Wert.

(defparameter *Variable* Wert)

Beispiel

(defparamter *a* 10)

defparameter *name* "Otto")

(+ *a*  *b*)

defvar

defvar: Definiert eine globale Variable, setzt den Anfangswert aber nur, wenn sie noch keinen Wert hat. Überschreibt bestehende Werte beim Neuladen nicht.

(defvar *Variable* Wert )

Beispiel

(defvar *b*  101)

setq / setf

setq / setf: Ändert den Wert einer bereits existierenden Variablen oder erzeugt (in manchen Lisp-Dialekten) implizit eine globale Variable, was jedoch unsauber ist. setf ist der universelle Zuweisungsoperator.

setq - einfache Variablenzuweisung

setf - allgemeine Zuweisung

setf kann nicht nur Variablen setzen, sondern praktisch alles, wofür Lisp eine passende Schreibstelle (place) kennt:

(setf mein-wert 100)

Lokale Variablen