Difference between revisions of "For/fr"

From Second Life Wiki
< For
Jump to navigation Jump to search
Line 3: Line 3:
|statement=for
|statement=for
|statement_header
|statement_header
|statement_desc=Chacune de ces expressions peut-être nulles.
|statement_desc=Chacune des instructions peut être l'instruction vide.
|statement_end=loop
|statement_end=loop
|statement_end_desc=Peut-être une expression simple, un ensemble d'expression ou une expression nulle.
|statement_end_desc=Peut-être une instruction simple, un ensemble d'instruction ou l'instruction vide.
|p1_name=initializer|p1_desc=Exécuté une fois juste avant l'évaluation '''condition'''.
|p1_name=initializer|p1_desc=Exécuté une fois juste avant l'évaluation de '''condition'''.
|p2_name=condition|p2_desc=Si '''condition''' est vraie alors '''loop''' est exécuté.
|p2_name=condition|p2_desc=Si '''condition''' est vraie alors '''loop''' est exécuté.
|p3_name=increment|p3_desc=Exécuté juste après '''loop''' puis retour sur '''condition'''.  
|p3_name=increment|p3_desc=Exécuté juste après '''loop''' puis retour sur '''condition'''.  
Line 12: Line 12:
|spec
|spec
|caveats
|caveats
|examples=<pre>//expression unique.
|examples=<pre>//instruction unique.
integer a = 0;
integer a = 0;
integer b = 10;
integer b = 10;
Line 18: Line 18:
     llOwnerSay((string)a);
     llOwnerSay((string)a);
</pre>
</pre>
<pre>//ensemble d'expression
<pre>//ensemble d'instruction
integer a = 0;
integer a = 0;
integer b = 10;
integer b = 10;
Line 27: Line 27:
}
}
</pre>
</pre>
<pre>//expression nulle
<pre>//instruction vide
integer a = 0;
integer a = 0;
integer b = 10;
integer b = 10;

Revision as of 15:24, 3 December 2007

for( initializer; condition; incrementloop

•  initializer Exécuté une fois juste avant l'évaluation de condition.
•  condition Si condition est vraie alors loop est exécuté.
•  increment Exécuté juste après loop puis retour sur condition.
•  loop Peut-être une instruction simple, un ensemble d'instruction ou l'instruction vide.


Chacune des instructions peut être l'instruction vide.

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

//instruction unique.
integer a = 0;
integer b = 10;
for(; a < b; ++a)
    llOwnerSay((string)a);
//ensemble d'instruction
integer a = 0;
integer b = 10;
for(; a < b; ++a)
{
    llOwnerSay((string)a);
    llOwnerSay((string)a);
}
//instruction vide
integer a = 0;
integer b = 10;
for(; a < b; llOwnerSay((string)(a++)));

Notes

Un for loop est identique à un while loop suivant la syntaxe :

initializer;
while(condition);
{
    loop;
    increment;
}

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.