select

select keyword

Calling Sequence

select variable
case value1 then
instructions 1
case value2 then
instructions 2
...
case valuen then
instructions n
[else instructions]
end

Arguments

:variable variable which value to be analyzed. : :value1, ..., valuen values of variable for which there are

appropriate instruction blocks instructions 1, ..., instructions n.

: :instructions block of valid instructions. :

Description

Notes:

  • The only constraint is that each then keyword must be on the same line line as corresponding case keyword (or use a continuation mark, see dot).
  • The keyword “then” can be replaced by a carriage return or a comma. instructions1 are executed if expr1=expr, etc.

According to the Code Conventions for the Scilab Programming Language it is recommended:

  • Start each statement on a new line.
  • Write no more than one simple statement per line.
  • Break compound statements over multiple lines.

For example, use:

A = 2
select A
case 1 then
    `disp`_(1)
case 2 then
    `disp`_(2)
else
    `disp`_(3)
end

rather than

A = 2;select A case 1 then `disp`_(1); case 2 then `disp`_(2); else  `disp`_(3); end

Warning: the number of characters used to define the body of any conditional instruction (if while for or select/case) must be limited to 16k.

Examples

while %t do
    n=`round`_(10*`rand`_(1,1))
    select n
        case 0 then
        `disp`_(0)
    case 1 then
        `disp`_(1)
    else
        break
    end
end

See Also

  • if keyword for conditional execution
  • while while keyword
  • for language keyword for loops

Table Of Contents

This Page