select select キーワード

## 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

## 引数

variable

  値を解析する変数.

value1, ..., valuen

  適当な命令ブロック `instructions 1, ..., instructions n` が存在する `variable`の値.

valueC1, ..., valueCN

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

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"

## 参照

- if
- while
- for

## 履歴

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