配列の型を取得


8

配列内の型を取得するにはどうすればよいですか?

a = [1,2,3]

タイプを取得できます a

typeof(a)
Vector{Int64}

でも本当に欲しいInt64。まず、初心者の回避策は

typeof(a[1])
Int64

しかし、これを見るとわかるように、これは実際には正しくありません。

a = [1,2,3, missing]

typeof(a)
Vector{Union{Missing, Int64}}

ベクトルUnion{Missing, Int64}の型はですが、最初の要素の型は

typeof(a[1])
Int64

では、どのようにしてベクトル/配列のタイプを取得しますか?

回答:


9

eltype関数を使用します。

julia> a = [1,2,3]
3-element Array{Int64,1}:
 1
 2
 3

julia> eltype(a)
Int64

julia> a = [1,2,3, missing]
e4-element Array{Union{Missing, Int64},1}:
 1
 2
 3
  missing

julia> eltype(a)
Union{Missing, Int64}

1
ハ!超クール。ありがとう。
ジョージリー

1
私は他の答えをしますstackoverflow.com/questions/61171531/…私は、パラメトリックタイプの両方の引数のロジックを拡張しましたArray
BogumiłKAMINSKI
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.