Je passe à Julia 1.0.2 et j'ai réalisé que la fonction find n'est pas définie. Dans une version précédente (Julia 0.6) je pouvais écrire
find(x -> x<0, my_var)
Afin d'obtenir les éléments négatifs du tableau appelé my_var. Lorsque j'exécute le même code dans Julia 1.0.2, j'obtiens l'erreur suivante:
UndefVarError: find not defined
Je n'ai pas pu trouver si la fonction find est implémentée sous un nom différent ou si elle a été supprimée. Existe-t-il une fonction Julia 1.0.2 qui serait équivalente à la fonction find dans les versions précédentes de Julia?
Utilisez filter()
:
Julia> filter(x -> x<0, -5:5)
5-element Array{Int64,1}:
-5
-4
-3
-2
-1
Une autre option consiste à utiliser findall()
pour obtenir les indices des éléments:
Julia> indices = findall(x -> x<0, -5:5)
5-element Array{Int64,1}:
1
2
3
4
5
Vous pouvez utiliser getindex()
pour obtenir les valeurs réelles, par exemple:
Julia> getindex(-5:5,indices)
5-element Array{Int64,1}:
-5
-4
-3
-2
-1