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。
你正在做的事情相当于:
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)
即,您正在向具有五个元素的范围内广播具有五个功能的容器。然后,第一个函数应用于范围的第一个元素,第二个函数应用于第二个元素,依此类推。