YENGswitch
From OpenSimulator
(Difference between revisions)
m (Add into category) |
m (Add pre html tag) |
||
| Line 2: | Line 2: | ||
break, default and '...' are keywords used with it.<br> | break, default and '...' are keywords used with it.<br> | ||
| − | + | Simple string (command) example: | |
| − | + | <pre> | |
| − | + | switch (command) | |
| − | + | { | |
| − | + | case "turnleft": | |
| − | + | { | |
| − | + | TurnLeft (); | |
| − | + | break; | |
| − | + | } | |
| − | + | case "turnright": | |
| − | + | { | |
| − | + | TurnRight (); | |
| − | + | break; | |
| − | + | } | |
| − | + | default: llOwnerSay ("Dont know how to handle " + command); | |
| + | } | ||
| + | </pre> | ||
| − | + | A simple integer example | |
... can be used to define a range | ... can be used to define a range | ||
| − | + | <pre> | |
| − | + | 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); | |
| + | } | ||
| + | </pre> | ||
| − | + | Other: | |
| − | + | <pre> | |
| − | + | 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); | |
| − | + | } | |
| + | </pre> | ||
The different case ranges can not overlap. | The different case ranges can not overlap. | ||
[[Category:Scripts]] | [[Category:Scripts]] | ||
Revision as of 04:48, 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.