chunks
for filters
Divide a list or table into chunks of `chunk_size`.
Signature
> chunks {flags} (chunk_size)
Parameters
chunk_size
: The size of each chunk.
Input/output types:
input | output |
---|---|
list<any> | list<list<any>> |
table | list<table> |
Examples
Chunk a list into pairs
> [1 2 3 4] | chunks 2
╭───┬───────────╮
│ 0 │ ╭───┬───╮ │
│ │ │ 0 │ 1 │ │
│ │ │ 1 │ 2 │ │
│ │ ╰───┴───╯ │
│ 1 │ ╭───┬───╮ │
│ │ │ 0 │ 3 │ │
│ │ │ 1 │ 4 │ │
│ │ ╰───┴───╯ │
╰───┴───────────╯
Chunk the rows of a table into triplets
> [[foo bar]; [0 1] [2 3] [4 5] [6 7] [8 9]] | chunks 3
╭───┬───────────────────╮
│ 0 │ ╭───┬─────┬─────╮ │
│ │ │ # │ foo │ bar │ │
│ │ ├───┼─────┼─────┤ │
│ │ │ 0 │ 0 │ 1 │ │
│ │ │ 1 │ 2 │ 3 │ │
│ │ │ 2 │ 4 │ 5 │ │
│ │ ╰───┴─────┴─────╯ │
│ 1 │ ╭───┬─────┬─────╮ │
│ │ │ # │ foo │ bar │ │
│ │ ├───┼─────┼─────┤ │
│ │ │ 0 │ 6 │ 7 │ │
│ │ │ 1 │ 8 │ 9 │ │
│ │ ╰───┴─────┴─────╯ │
╰───┴───────────────────╯
Notes
This command will error if chunk_size
is negative or zero.