Skip to main content

set

set Function

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.

Expanded Reference: set

tip

TODO: Please contribute to this page by adding explanations and examples

(set )