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.