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