par-each для фильтров
Параллельно выполняет замыкание для каждой строки входного списка и создаёт новый список с результатами.
Сигнатура
> par-each {flags} (closure)
Флаги
-
--threads, -t {int}: Количество используемых потоков. -
--keep-order, -k: Сохранять порядок выходных данных таким же, как порядок входных.
Параметры
-
closure: Замыкание для выполнения.
Типы входных и выходных данных:
| вход | выход |
|---|---|
| list<any> | list<any> |
| table | list<any> |
| any | any |
Примеры
Умножает каждое число. Обратите внимание, что порядок элементов списка может стать произвольным.
> [1 2 3] | par-each {|e| $e * 2 }Умножает каждое число, сохраняя исходный порядок.
> [1 2 3] | par-each --keep-order {|e| $e * 2 }
╭───┬───╮
│ 0 │ 2 │
│ 1 │ 4 │
│ 2 │ 6 │
╰───┴───╯Команды Enumerate и sort-by можно использовать для восстановления исходного порядка.
> 1..3 | enumerate | par-each {|p| update item ($p.item * 2)} | sort-by item | get item
╭───┬───╮
│ 0 │ 2 │
│ 1 │ 4 │
│ 2 │ 6 │
╰───┴───╯После этого результат всё ещё можно отсортировать.
> [foo bar baz] | par-each {|e| $e + '!' } | sort
╭───┬──────╮
│ 0 │ bar! │
│ 1 │ baz! │
│ 2 │ foo! │
╰───┴──────╯Перебирает каждый элемент и создаёт список с индексами всех двоек.
> [1 2 3] | enumerate | par-each { |e| if $e.item == 2 { $"found 2 at ($e.index)!"} }
╭───┬───────────────╮
│ 0 │ found 2 at 1! │
╰───┴───────────────╯
Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/par-each.html