match для ядра
Условно выполнить блок по совпавшему значению.
Подпись
> match {flags} (value) (match_block)
Параметры
-
value: значение для проверки -
match_block: блок для выполнения, если проверка пройдена
Типы входных/выходных данных:
| Вход | Выход |
|---|---|
| любой | любой |
Примеры
Сопоставление со значением в диапазоне
>match3 { 1..10=>'yes!' }
yes!
Сопоставление с полем в записи
>match {a:100} { {a:$my_value} => { $my_value } }
100
Сопоставление со всеми значениями
>match3 { 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 [123] {
[$x, ..$y] if$x==1=> { 'good list' },
_=> { 'not a very good list' }
}
goodlist
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/match.html