set
set symbol value → value
symbol—a symbol.
7.1.2 9 value—an object.
7.1.2 8set 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.
None.
None.
The function set is deprecated.
7.1.2 11set cannot change the value of a lexical variable.