YENGswitch
From OpenSimulator
(Difference between revisions)
												
			m (Add pre html tag)  | 
			m (Remplace pre by source)  | 
			||
| Line 4: | Line 4: | ||
Simple string (command) example:  | Simple string (command) example:  | ||
| − | <  | + | <source lang="lsl">  | 
switch (command)  | switch (command)  | ||
{  | {  | ||
| Line 19: | Line 19: | ||
     default: llOwnerSay ("Dont know how to handle " + command);  |      default: llOwnerSay ("Dont know how to handle " + command);  | ||
}  | }  | ||
| − | </  | + | </source >  | 
A simple integer example  | A simple integer example  | ||
... can be used to define a range  | ... can be used to define a range  | ||
| − | <  | + | <source lang="lsl">  | 
switch (command)  | switch (command)  | ||
{  | {  | ||
| Line 40: | Line 40: | ||
     default: llOwnerSay ("Dont know how to handle " + command);  |      default: llOwnerSay ("Dont know how to handle " + command);  | ||
}  | }  | ||
| − | </  | + | </source >  | 
Other:  | Other:  | ||
| − | <  | + | <source lang="lsl">  | 
switch (command)  | switch (command)  | ||
{  | {  | ||
| Line 59: | Line 59: | ||
     default: llOwnerSay ("dont know how to handle " + command);  |      default: llOwnerSay ("dont know how to handle " + command);  | ||
}  | }  | ||
| − | </  | + | </source >  | 
The different case ranges can not overlap.  | The different case ranges can not overlap.  | ||
[[Category:Scripts]]  | [[Category:Scripts]]  | ||
Revision as of 06:40, 22 September 2020
switch can only work in integer expressions, or strings
break, default and '...' are keywords used with it.
Simple string (command) example:
switch (command) { case "turnleft": { TurnLeft (); break; } case "turnright": { TurnRight (); break; } default: llOwnerSay ("Dont know how to handle " + command); }
A simple integer example ... can be used to define a range
switch (command) { case 4: { llSay(PUBLIC_CHANNEL, "4"); break; } case 5 ... 20: { // ... defines a range llSay(PUBLIC_CHANNEL, "r"); break; } default: llOwnerSay ("Dont know how to handle " + command); }
Other:
switch (command) { case 4: llSay(PUBLIC_CHANNEL, "4"); break; case 5 ... 20: llSay(PUBLIC_CHANNEL, "5 to 20"); break; case 22: case 27: llSay(PUBLIC_CHANNEL, "other"); break; default: llOwnerSay ("dont know how to handle " + command); }
The different case ranges can not overlap.