A block that is nested within another block can, in some cases, have the wrong value for a variable that is declared in an outer scope. An assignment to the variable performed in the outer scope is not always propagated to the inner block when it should be.
For example, the following returns 1, and should return 100:
[ | temp myBlock |
temp := 1.
myBlock := [ temp ].
temp := 100.
myBlock value ]
value
Last updated: 7/29/14