17.05.2015 Views

zl:1 - FTP

zl:1 - FTP

zl:1 - FTP

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

get-setf-method-multiple-value<br />

260<br />

(gBBB2)<br />

(exp)<br />

(gBBB3)<br />

(progn (rplaca gBBB2 gBB83) g8883)<br />

(car gBB82)<br />

• For (supseq seq s e):<br />

(gBB84 gB885 g8886)<br />

(seq s e)<br />

(gBB87)<br />

(progn (replace g88B4 g8887 :start1 g8885 :end1 gBB86)<br />

gB8B7)<br />

(subseq gBB84 g8B85 g8886)<br />

get-setf-method-multiple-value reference &optional for-effect Function<br />

user::get-setf-multiple-value returns five values constituting the setf<br />

method for user::reference, which is a generalized-variable reference. (The<br />

five values are described in detail at the end of this discussion.) This is<br />

the same as define-setf-method, except that it does not check the number<br />

of store-variables (one of the five values). Use<br />

user::get-setf-multiple-value in cases that allow storing multiple values<br />

into a generalized variable. This is not a common need.<br />

Here are the five values that express a setf method for a given access<br />

form.<br />

• A list of temporary variables.<br />

e A list of value forms (subforms of the given form) to whose values<br />

the teporary variables are to be bound.<br />

• A second list of temporary variable, called store variables.<br />

• A storing form.<br />

• An accessing form.<br />

The temporary variables are bound to the value forms as if by let·; that is,<br />

the value forms are evaluated in the order given and may refer to the<br />

values of earlier value forms by using the corresponding variable.<br />

The store variables are to be bound to the values of the newvalue form,<br />

that is, the values to be stored into the generalized variable. In almost all<br />

cases, only a single value is stored, and there is only one store variable.<br />

The storing form and the accessing form may contain references to the<br />

temporary variables (and also, in the case of the storing form, to the store<br />

variables). The accessing form returns the value of the generalized variable.<br />

The storing form modifies the value of the generalized variable and<br />

guarantees to return the values of the store variables as its values. These<br />

are the correct values for setf to return. (Again, in most cases there is a

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!