2 votes

Chaînage des opérateurs avec .|> dans Julia

J'ai une expression

 [1:5;] .|> [x->x^2, inv, x->2*x, -, isodd]

extrait de la documentation de Julia.

Le résultat est

5-element Vector{Real}:
    1
    0.5
    6
   -4
 true

Quelqu'un peut-il expliquer la chaîne des opérations sur chaque élément 1:5 en détail. Je n'ai pas compris pourquoi 1 est converti en 1 et 5 est converti en vrai.

4voto

Nils Gudat Points 2060

Ce que vous faites est équivalent à :

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

julia> inv(2)
0.5

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

julia> -(4)
-4

julia> isodd(5)
true

c'est-à-dire que vous diffusez un conteneur avec cinq fonctions sur une plage de cinq éléments. La première fonction est alors appliquée au premier élément de votre plage, la deuxième fonction au deuxième élément, etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X