Assignments within functions are local. Frames.

Note that any ordinary assignments done within the function are local and temporary and are lost after exit from the function. Thus the assignment X <- qr(X) does not affect the value of the argument in the calling program.

To understand completely the rules governing the scope of . assignments the reader needs to be familiar with the notion of an evaluation frame. This is a somewhat advanced, though hardly difficult, topic and is not covered further in these notes.

If global and permanent assignments are intended within a function, then either the `superassignment' operator, `<<-' or the function assign() can be used. See the help document for details. . users should be aware that <<- has different semantics in .. These are discussed further in §[*].



Jeff Banfield
2/13/1998