assign

Die Funktion assign belegt Instanzvariable in Instanzen (siehe Instanz) mit Werten. Alle Argumente der Funktion werden ausgewertet. Das erste Argument ist die Instanz, in der ein Wert gesetzt werden soll. Das zweite Argument ist der Name der Instanzvariable. Das dritte Argument ist der Wert. Eine Variante von assign, bei der das zweite Argument nicht ausgewertet wird, ist assignq.

Der mit assign gesetzte Wert einer Instanzvariablen kann mit slot-value wieder ermittelt werden.

Aufrufe von assign sind nur dann erfolgreich, wenn die Instanz nicht eingefroren ist (siehe freeze).

> (defclass thing ())
> (setq something (allocate-instance thing))
> (assign something (quote value) 1)
> (slot-value something (quote value))
1