Julia 中使用 .|> 链接运算符

Vin*_*nod 3 operators chain julia

我有一个表情

 [1:5;] .|> [x->x^2, inv, x->2*x, -, isodd]
Run Code Online (Sandbox Code Playgroud)

取自 Julia 文档。

输出是

5-element Vector{Real}:
    1
    0.5
    6
   -4
 true
Run Code Online (Sandbox Code Playgroud)

1:5有人可以详细解释每个元素的操作链吗?我不明白为什么1会转换为1,5会转换为true。

Nil*_*dat 5

你正在做的事情相当于:

julia> (x -> x^2)(1)
1

julia> inv(2)
0.5

julia> (x -> 2x)(3)
6

julia> -(4)
-4

julia> isodd(5)
true
Run Code Online (Sandbox Code Playgroud)

即,您正在向具有五个元素的范围内广播具有五个功能的容器。然后,第一个函数应用于范围的第一个元素,第二个函数应用于第二个元素,依此类推。