Home Segments Index Top Previous Next

177: Mainline

Assignment expressions, like all expressions in Smalltalk, have values. By convention, the value is the same as the value assigned. Thus, the value produced by the expression y := 9 is 9.

Accordingly, assignment expressions can appear as subexpressions nested inside larger expressions.

In the following, for example, the assignment expression, y := 9, which assigns a value to y, appears inside a larger assignment expression, which assigns a value to x as well:

x := (y := 9) 

When the assignment expression is evaluated, 9 is assigned to y first; then, the value of the subexpression, which is also 9, is assigned to x.