reorganize module
This commit is contained in:
39
_archive/rhai_engine/rhaibook/language/switch-expression.md
Normal file
39
_archive/rhai_engine/rhaibook/language/switch-expression.md
Normal file
@@ -0,0 +1,39 @@
|
||||
Switch Expression
|
||||
=================
|
||||
|
||||
{{#include ../links.md}}
|
||||
|
||||
Like [`if`], [`switch`] also works as an _expression_.
|
||||
|
||||
```admonish tip.small "Tip"
|
||||
|
||||
This means that a [`switch`] expression can appear anywhere a regular expression can,
|
||||
e.g. as [function] call arguments.
|
||||
```
|
||||
|
||||
~~~admonish tip.small "Tip: Disable `switch` expressions"
|
||||
|
||||
[`switch`] expressions can be disabled via [`Engine::set_allow_switch_expression`][options].
|
||||
~~~
|
||||
|
||||
```js
|
||||
let x = switch foo { 1 => true, _ => false };
|
||||
|
||||
func(switch foo {
|
||||
"hello" => 42,
|
||||
"world" => 123,
|
||||
_ => 0
|
||||
});
|
||||
|
||||
// The above is somewhat equivalent to:
|
||||
|
||||
let x = if foo == 1 { true } else { false };
|
||||
|
||||
if foo == "hello" {
|
||||
func(42);
|
||||
} else if foo == "world" {
|
||||
func(123);
|
||||
} else {
|
||||
func(0);
|
||||
}
|
||||
```
|
Reference in New Issue
Block a user