Function Definitions

 3  -  Setting Variables

setq ..... Assigns a value to a variable, or several values to several variables.  Returns the value of the last variable assigned.

(setq a 6)  assigns the value 6 to variable a.  Returns 6
(setq b 8 c 3.12)  assigns 8 to b, 3.12 to c.  Returns 3.12
(setq w "table'')  assigns the string "table" to variable w.  Returns "table"
(setq p (list  4.0  6.5  2.0))  assigns the list containing 4.0, 6.5, and 2.0 to variable p.  Returns the same list.
(setq p '(4.0  6.5  2.0))  same as above

The last two examples illustrate the fact that you can create a data list either by using the list function, or by quoting a data list.  However, using the list function allows you to use variables within the list, whereas quoting a data list does not allow you to use variables.  Since the list function is more versatile, we usually illustrate its use in these pages, even when the data list does not contain variables.

setq stands for "set quote," which means that setq always considers the variable as quoted, so the variable does not need to be quoted explicitly. Compare set below.


set ..... Assigns a value to a variable, or several values to several variables.  Does not automatically quote the variable.  Returns the value of the last variable assigned.

(set (quote a) 3.1) or (set 'a 3.1)  assigns 3.1 to variable a and returns 3.1 The variable must be explicitly quoted. If it is not, it win be evaluated and the value assignment will go to the result of that evaluation. Compare setq above.

After (setq x 2 y 'x)
(set y 3)  assigns 3 to x (because y evaluates to x) and returns 3.  The value of y remains unchanged.

This function is needed in advanced programs which create and manipulate variables on-the-fly.  Unless needed, you should use the setq function (see setq above) for all simple assignments.


Also see  setvar  under "14 - Working with AutoCAD"

HOME


Copyright © 1988, 1998 Ronald W. Leigh