filter для фильтров
Фильтрация значений на основе предикатного замыкания.
Подпись
> filter {flags} (closure)
Параметры
-
closure: Предикатное замыкание
Типы входных/выходных данных:
| Вход | Выход |
|---|---|
| list<any> | list<any> |
| range | list<any> |
| таблица | таблица |
Примеры
Фильтрация элементов списка по условию
> [12] |filter {|x| $x>1}
╭───┬───╮
│0│2│
╰───┴───╯
Фильтрация строк таблицы по условию
> [{a:1} {a:2}] |filter {|x| $x.a>1}
╭───┬───╮
│# │ a │
├───┼───┤
│0│2│
╰───┴───╯
Фильтрация строк таблицы по сохранённому условию
>letcond= {|x| $x.a>1}; [{a:1} {a:2}] |filter$cond
╭───┬───╮
│# │ a │
├───┼───┤
│0│2│
╰───┴───╯
Фильтрация элементов диапазона по условию
>9..13|filter {|el| $elmod2!=0}
╭───┬────╮
│0│9│
│1│11│
│2│13│
╰───┴────╯
Вывод всех чисел, больших 3, используя существующее условие замыкания
>leta= {$in>3}; [1, 2, 5, 6] |filter$a
Примечания
Эта команда работает аналогично команде 'where', но позволяет читать предикатное замыкание из переменной. С другой стороны, синтаксис "условие строки" не поддерживается.
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/filter.html