# switch statement

Use the switch statement to pass control to a case which matches the result of the switch_expression. If no case satisfies the condition, the default case is executed.

syntax:

    (switch switch_expression
            (case1
                    code_block_1
                    code_block_2
                    ...
            )
            (case2
                    code_block_1
                    code_block_2
                    ...
            )
            .
            .
            .
            (else
                    code_block_1
                    code_block_2
                    ...
            )
    )

Example using the switch statement - prints “01.....7....C........” to the screen:

    (for ((= i 0)) (< i 20) ((++ i))
            (switch i
                    (0
                            (Display "0" dsCOLOR clLIME)
                    )
                    (1
                            (Display "1" dsCOLOR clBLUE)
                    )
                    (7
                            (Display "7" dsCOLOR clYELLOW)
                    )
                    (12
                            (Display "C" dsCOLOR clCYAN)
                    )
                    (else
                            (Display "." dsCOLOR clWHITE)
                    )
            )
    )

Switch statements can also be evaluated as expressions:

    ; Set direction based on the key pressed.
    (= direction
            (switch (pEvent message?)
                    (KEY_W
                            UP
                    )
                    (KEY_S
                            DOWN
                    )
                    (KEY_D
                            RIGHT
                    )
                    (KEY_A
                            LEFT
                    )
                    (else
                            CENTER
                    )
            )
    )

See also: if statements, switchto statement, cond statements.