select select keyword

## Syntax

                select variable
                case value1 then
                    instructions 1
                case value2 then
                    instructions 2
                    ...
                case valuen then
                    instructions n
                case {valueC1 valueC2 valueCN}
                    intructions C
               [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`.

valueC1, ..., valueCN

  like `value1, ..., valuen` but an OR is applied on each `variable == valueCx`. It is useful to group cases with same instruction.

instructions

  block of valid instructions.

## Examples

    function select_example(n)
        select n
        case 0 then
            disp(0)
        case 1 then
            disp(1)
        case {2 3}
            disp({2 3})
        else
            disp("default")
        end
    endfunction

    select_example(0); // 0
    select_example(1); // 1
    select_example(2); // {2 3}
    select_example(3); // {2 3}
    select_example(4); // "default"

## See also

- if
- while
- for

## History

6.0.0

- `select` is now protected: Assignments like `select=1` are no longer possible.
- The number of characters used to define the body of any conditional instruction (`if`, `while`, `for`, or `select/case`) is no more limited to 16k.

2024.0

- Add grouped case with cell representation `case {2 3}` to match either 2 or 3