each для фильтров
Подпись
> each {flags} (closure)
Флаги
-
--keep-empty, -k: сохранять пустые ячейки результата
Параметры
-
closure: замыкание для выполнения
Типы входных/выходных данных:
| вход | выход |
|---|---|
| любой | любой |
| список<любой> | список<любой> |
| таблица | список<любой> |
Примеры
Умножает элементы в списке
> [123] |each {|e| 2*$e }
╭───┬───╮
│0│2│
│1│4│
│2│6│
╰───┴───╯
Создает список значений в записи, преобразованных в строку
> {major:2, minor:1, patch:4} |values|each {|| into string }
╭───┬───╮
│0│2│
│1│1│
│2│4│
╰───┴───╯
Создает список, в котором «два» для каждого 2 во входных данных
> [1232] |each {|e| if$e==2 { "two" } }
╭───┬─────╮
│0│two│
│1│two│
╰───┴─────╯
Итерирует по каждому элементу, создавая список, показывающий индексы всех 2
> [123] |enumerate|each {|e| if$e.item==2 { $"found 2 at ($e.index)!"} }
╭───┬───────────────╮
│0│found2at1!│
╰───┴───────────────╯
Итерирует по каждому элементу, сохраняя нулевые результаты
> [123] |each--keep-empty {|e| if$e==2 { "found 2!"} }
╭───┬──────────╮
│0││
│1│found2!│
│2││
╰───┴──────────╯
Примечания
Поскольку таблицы представляют собой списки записей, передача таблицы в команду «each» приведет к итерации по каждой записи, а не по каждой ячейке в ней.
Избегайте передачи отдельных записей в эту команду. Поскольку запись является структурой с одной строкой, «each» будет выполняться только один раз, ведя себя подобно команде «do». Для итерации по значениям записи сначала попробуйте преобразовать ее в таблицу с помощью команды «transpose».
Подкоманды:
| название | тип | использование |
|---|---|---|
each while |
Встроенная | Выполнить блок для каждой строки входного списка до тех пор, пока не будет найден нуль, а затем создать новый список с результатами. |
Copyright © 2019–2023 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/each.html