web-dev-qa-db-ja.com

Julia 1.0.2での関数の検索

Julia 1.0.2に移行していますが、find関数が定義されていないことに気付きました。以前のバージョン(Julia 0.6)では、

find(x -> x<0, my_var)

My_varという配列の負の要素を取得するために。 Julia 1.0.2で同じコードを実行すると、次のエラーが発生します。

UndefVarError: find not defined

Find関数が別の名前で実装されているのか、それが削除されているのかわかりません。以前のJuliaバージョンのfind関数と同等のJulia 1.0.2関数はありますか?

8
A. A.

filter()を使用:

_Julia> filter(x -> x<0, -5:5)
5-element Array{Int64,1}:
 -5
 -4
 -3
 -2
 -1
_

もう1つのオプションは、findall()を使用して要素のインデックスを取得することです。

_Julia> indices = findall(x -> x<0, -5:5)
5-element Array{Int64,1}:
 1
 2
 3
 4
 5
_

getindex()を使用して、実際の値を取得できます。例:

_Julia> getindex(-5:5,indices)
5-element Array{Int64,1}:
 -5
 -4
 -3
 -2
 -1
_
9