|
ANSI Common Lisp 10 Symbols 10.2 Dictionary of Symbols
- Syntax:
-
set
symbol value
value
- Arguments and Values:
-
symbol - a symbol.
value - an object.
- Description:
-
set changes the contents of the value cell of symbol
to the given value.
(set symbol value) ==(setf (symbol-value symbol) value)
- Examples:
-
(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
- Side Effects:
-
The value of symbol is changed.
- See Also:
-
setq, progv, symbol-value
- Notes:
-
The function set is deprecated.
set cannot change the value of a lexical variable.
- Allegro CL Implementation Details:
-
None.
|