match для core
Условно выполняет блок для совпавшего значения.
Сигнатура
> match {flags} (value) (match_block)
Параметры
-
value: Значение для проверки. -
match_block: Блок, который выполняется при успешной проверке.
Типы входных и выходных данных:
| входные данные | выходные данные |
|---|---|
| any | any |
Примеры
Сопоставление со значением.
> match 3 { 1 => 'one', 2 => 'two', 3 => 'three' }
threeСопоставление с альтернативными значениями.
> match 'three' { 1 | 'one' => '-', 2 | 'two' => '--', 3 | 'three' => '---' }
---Сопоставление со значением из диапазона.
> match 3 { 1..10 => 'yes!' }
yes!Сопоставление с полем в записи.
> match {a: 100} { {a: $my_value} => { $my_value } }
100Сопоставление с универсальным шаблоном.
> match 3 { 1 => { 'yes!' }, _ => { 'no!' } }
no!Сопоставление со списком.
> match [1, 2, 3] { [$a, $b, $c] => { $a + $b + $c }, _ => 0 }
6Сопоставление с входными данными конвейера.
> {a: {b: 3}} | match $in {{a: { $b }} => ($b + 10) }
13Сопоставление с условием.
> match [1 2 3] {
[$x, ..$y] if $x == 1 => { 'good list' },
_ => { 'not a very good list' }
}
good listПримечания
Эта команда является ключевым словом парсера. Подробности см. в разделе: https://www.nushell.sh/book/thinking_in_nu.html
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/match.html