Let me announce another release of DataPipes
, v0.3.5
- already registered in General
.
The main highlight since the last update is
Pipe broadcast: .|>
Sometimes operations are more natural to write as a map
call, sometimes as a broadcast. Making this even more convenient, DataPipes
now supports the broadcasted pipe, .|>
.
For the regular pipe |>
, the __
placeholder gets replaced with the result of the previous step. Likewise, for the .|>
broadcasted pipe, __
means a single element of the previous step result.
When this placeholder is not used, DataPipes
implicitly appends it to the function arguments, same for |>
and .|>
.
Some examples:
julia> @p "1, 2, 3, 4" |> eachmatch(r"(\d)") .|> __.captures[1]
4-element Vector{SubString{String}}:
"1"
"2"
"3"
"4"
julia> @p [[1, 2], [3]] .|> __ .+ 1
2-element Vector{Vector{Int64}}:
[2, 3]
[4]
julia> @p 1:10 |> group(_ % 3) .|> map(_ ^ 2)
3-element Dictionaries.Dictionary{Int64, Vector{Int64}}
1 │ [1, 16, 49, 100]
2 │ [4, 25, 64]
0 │ [9, 36, 81]
Especially the last case demonstrates that .|>
is convenient for processing nested datasets in a single line. Alternatives, such as nested maps, are more noisy for simple one-liner pipes.