rhai/scripts/switch.rhai

23 lines
779 B
Plaintext
Raw Normal View History

2022-01-20 05:06:36 +01:00
// This script runs a switch statement in a for-loop.
2021-12-20 08:18:44 +01:00
let arr = [42, 123.456, "hello", true, "hey", 'x', 999, 1, 2, 3, 4];
2021-06-07 14:15:06 +02:00
for item in arr {
switch item {
2022-01-20 05:06:36 +01:00
// Match single integer
2021-06-07 14:15:06 +02:00
42 => print("The Answer!"),
2022-01-20 05:06:36 +01:00
// Match single floating-point number
2021-06-07 14:15:06 +02:00
123.456 => print(`Floating point... ${item}`),
2022-01-20 05:06:36 +01:00
// Match single string
2021-06-07 14:15:06 +02:00
"hello" => print(`${item} world!`),
2022-01-20 05:06:36 +01:00
// Match another integer
2021-12-20 08:18:44 +01:00
999 => print(`Got 999: ${item}`),
2022-01-20 05:06:36 +01:00
// Match range with condition
2021-12-20 08:18:44 +01:00
0..100 if item % 2 == 0 => print(`A small even number: ${item}`),
2022-01-20 05:06:36 +01:00
// Match another range
2021-12-20 08:18:44 +01:00
0..100 => print(`A small odd number: ${item}`),
2022-01-20 05:06:36 +01:00
// Default case
2021-12-20 08:18:44 +01:00
_ => print(`Something else: <${item}> is ${type_of(item)}`)
2021-06-07 14:15:06 +02:00
}
}