While

From Second Life Wiki
Revision as of 01:52, 22 January 2015 by Lady Sumoku (talk | contribs) (Replaced old <LSL> block with <source lang="lsl2">)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

while( conditionloop

•  condition If this executes as true then loop is executed.
•  loop Can be either a single statement, a block statement, or a null statement.


Any of the statements can be null statements.

Specification

Conditional Types
Type Condition
integer True if it is not zero.
float True if it is not zero.[1]
string True if its length is not zero.
key True only if it is a valid key and not NULL_KEY.
vector True if the vector is not ZERO_VECTOR.
rotation True if the rotation is not ZERO_ROTATION.
list True if the length is not zero. Note that correct behavior is only seen with Mono-compiled scripts; LSO-compiled scripts incorrectly resolve to false if the list is non-empty: BUG-230728

Examples

//single statement
integer a = 0;
integer b = 10;
while(a < b)
    llOwnerSay((string)(a++));
//block statement
integer a = 0;
integer b = 10;
while(a < b)
{
    llOwnerSay((string)a);
    ++a;
}
//null statement
integer a = 0;
integer b = 10;
while(a++ < b);

Notes

A do-while loop is faster than a while loop or a for loop in LSO. (see discussion)


See Also

Articles

KBcaution.png Important: Please read this intro of how to iterate over a list in LSL.

Deep Notes

Search JIRA for related Issues

Footnotes

  1. ^ The OpenSim LSL compiler will not do this implicitly. You will need to use an explicit check.