ジュリアのネームドタプル
概要
名前付きタプルは、一般的なタプルとは異なり、辞書や構造体のように使用できるタプルだ。シンボルの配列をキーとして持ち、キーを使ってバリューにアクセスしつつ、タプルのようにも使用できる。
コード
x = rand(Bool, 5); y = rand(Bool, 5);
z = (; x, y)
typeof(z)
z.x
上のコードを実行して、名前付きタプルの使用方法を確認してみよう。
julia> z = (; x, y)
(x = Bool[0, 0, 1, 1, 0], y = Bool[1, 1, 0, 0, 0])
julia> typeof(z)
NamedTuple{(:x, :y), Tuple{Vector{Bool}, Vector{Bool}}}
名前付きタプルを簡単に作る方法は、タプルを作りながら開き括弧の直後にセミコロン ;
を付けることだ。例えば、(; x)
は (; x=x)
と同じだ。
julia> z.x
5-element Vector{Bool}:
0
0
1
1
0
julia> z[2]
5-element Vector{Bool}:
1
1
0
0
0
名前付きタプルは、上のように名前のシンボルでアクセスすることも、インデックスでアクセスすることもできる。
環境
- OS: Windows
- julia: v1.6.3