Next: unbound-variable, Previous: makunbound, Up: Symbols Dictionary
set
symbol value ⇒ value
symbol—a symbol.
value—an object.
set changes the contents of the value cell of symbol to the given value.
(set symbol value) ≡ (setf (symbol-value symbol) value)
(setf (symbol-value 'n) 1) ⇒ 1 (set 'n 2) ⇒ 2 (symbol-value 'n) ⇒ 2 (let ((n 3)) (declare (special n)) (setq n (+ n 1)) (setf (symbol-value 'n) (* n 10)) (set 'n (+ (symbol-value 'n) n)) n) ⇒ 80 n ⇒ 2 (let ((n 3)) (setq n (+ n 1)) (setf (symbol-value 'n) (* n 10)) (set 'n (+ (symbol-value 'n) n)) n) ⇒ 4 n ⇒ 44 (defvar *n* 2) (let ((*n* 3)) (setq *n* (+ *n* 1)) (setf (symbol-value '*n*) (* *n* 10)) (set '*n* (+ (symbol-value '*n*) *n*)) *n*) ⇒ 80 *n* ⇒ 2 (defvar *even-count* 0) ⇒ *EVEN-COUNT* (defvar *odd-count* 0) ⇒ *ODD-COUNT* (defun tally-list (list) (dolist (element list) (set (if (evenp element) '*even-count* '*odd-count*) (+ element (if (evenp element) *even-count* *odd-count*))))) (tally-list '(1 9 4 3 2 7)) ⇒ NIL *even-count* ⇒ 6 *odd-count* ⇒ 20
The value of symbol is changed.
setq , progv , symbol-value
The function set is deprecated.
set cannot change the value of a lexical variable.