ジュリアのコンテナ内部の要素タイプをチェックする方法
概要
eltype()
関数を使うだけだ。多分 element typeからきた名前だろう。
コード
julia> set_primes = Set([2,3,5,7,11,13])
Set{Int64} with 6 elements:
5
13
7
2
11
3
julia> arr_primes = Array([2,3,5,7,11,13])
6-element Vector{Int64}:
2
3
5
7
11
13
次のように$13$までの素数を要素とする二つのコンテナを考えてみよう。正直、同じデータを含んでいるが、上はセットで、下は配列という違いがあるだけだ。
julia> typeof(set_primes)
Set{Int64}
julia> eltype(set_primes)
Int64
julia> typeof(arr_primes)
Vector{Int64} (alias for Array{Int64, 1})
julia> eltype(arr_primes)
Int64
これらにtypeof()
を適用すれば、セットか配列かの区別がつくが、eltype()
はコンテナが何であれ、内部の要素がどのようなタイプかを返す。
julia> typeof(1:10)
UnitRange{Int64}
julia> eltype(1:10)
Int64
julia> typeof(1:2:10)
StepRange{Int64, Int64}
julia> eltype(1:2:10)
Int64
上に示された1:10
と1:2:10
の違いは、タイプに過度にこだわるジュリアプログラミングの世界で、eltype()
がどのように役立つかを示している。
環境
- OS: Windows
- julia: v1.6.3