YENGswitch

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m (Add pre html tag)
m (Remplace pre by source)
Line 4: Line 4:
 
Simple string (command) example:
 
Simple string (command) example:
  
<pre>
+
<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);
 
}
 
}
</pre>
+
</source >
  
 
A simple integer example
 
A simple integer example
 
... can be used to define a range
 
... can be used to define a range
  
<pre>
+
<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);
 
}
 
}
</pre>
+
</source >
  
 
Other:
 
Other:
  
<pre>
+
<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);
 
}
 
}
</pre>
+
</source >
  
 
The different case ranges can not overlap.
 
The different case ranges can not overlap.
  
 
[[Category:Scripts]]
 
[[Category:Scripts]]

Revision as of 07: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.

Personal tools
General
About This Wiki