Spec-Zone.ru › Nushell

window для фильтров

Создаёт скользящее окно размером `window_size`, которое перемещается по входным данным с шагом в n строк/элементов.

Сигнатура

> window {flags} (window_size)

Флаги

  • --stride, -s {int}: Количество строк, на которое нужно перемещаться между окнами.
  • --remainder, -r: Возвращать последние фрагменты, даже если в них меньше элементов, чем указано в размере.

Параметры

  • window_size: Размер каждого окна.

Типы входных и выходных данных:

вход выход
list<any> list<list<any>>

Примеры

Скользящее окно из двух элементов.

> [1 2 3 4] | window 2
╭───┬───────────╮
│ 0 │ ╭───┬───╮ │
│   │ │ 0 │ 1 │ │
│   │ │ 1 │ 2 │ │
│   │ ╰───┴───╯ │
│ 1 │ ╭───┬───╮ │
│   │ │ 0 │ 2 │ │
│   │ │ 1 │ 3 │ │
│   │ ╰───┴───╯ │
│ 2 │ ╭───┬───╮ │
│   │ │ 0 │ 3 │ │
│   │ │ 1 │ 4 │ │
│   │ ╰───┴───╯ │
╰───┴───────────╯

Скользящее окно из двух элементов с шагом 3.

> [1, 2, 3, 4, 5, 6, 7, 8] | window 2 --stride 3
╭───┬───────────╮
│ 0 │ ╭───┬───╮ │
│   │ │ 0 │ 1 │ │
│   │ │ 1 │ 2 │ │
│   │ ╰───┴───╯ │
│ 1 │ ╭───┬───╮ │
│   │ │ 0 │ 4 │ │
│   │ │ 1 │ 5 │ │
│   │ ╰───┴───╯ │
│ 2 │ ╭───┬───╮ │
│   │ │ 0 │ 7 │ │
│   │ │ 1 │ 8 │ │
│   │ ╰───┴───╯ │
╰───┴───────────╯

Скользящее окно с шагом, равным размеру окна, включающее остаток. Эквивалентно разбиению на фрагменты.

> [1, 2, 3, 4, 5] | window 3 --stride 3 --remainder
╭───┬───────────╮
│ 0 │ ╭───┬───╮ │
│   │ │ 0 │ 1 │ │
│   │ │ 1 │ 2 │ │
│   │ │ 2 │ 3 │ │
│   │ ╰───┴───╯ │
│ 1 │ ╭───┬───╮ │
│   │ │ 0 │ 4 │ │
│   │ │ 1 │ 5 │ │
│   │ ╰───┴───╯ │
╰───┴───────────╯

Примечания

Эта команда завершится с ошибкой, если window_size или stride отрицательны или равны нулю.

Copyright © 2019–2026 The Nushell Project DevelopersLicensed under the MIT License.
https://www.nushell.sh/commands/docs/window.html

Spec-Zone.ru

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