Spec-Zone.ru › Nushell

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API