Next: , Previous: makunbound, Up: Symbols Dictionary


10.2.19 set [Function]

set symbol valuevalue

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.