Summary
As of r15982, variables used within scripts can be directly assigned to as you would using another programming language. That is to say, that the following set of predicates will work:
@i = 1;
@i++;
@i *= 2;
@i = @j = 1;
@i -= @j;
for( @i = 0; 10 > @i; @i++ ) { }
while( (@i += 1) < 20 ) { }
Support for all of the major operator methods have been included (+=, -=, /=, *= etc.) This announcement is to ensure that any and all problems encountered while using this method of accessing variables must be reported, along with any traces you can possibly provide (and a clear example of the script is appreciated.)
This comes as a secondary update to the scripting engine to unify the language to conform to standards set by other languages. The scripting engine now supports both the direct invocation of user-defined functions (r15979 and r15981) and variable access systems (r15982.)
Notes
This does not affect previous scripts at all. The new engine converts patterns that match var = value; to set(var, value); for backwards compatibility.
Testing was performed using all of the operator methods, and was tested using loops. However, nested operations have not yet been thoroughly tested.