タプル

Julia中級

Anthony Markham

Quantitative Developer

タプル - 導入

  • 変更不可で順序付きの値コレクション。
  • 任意のデータ型を含められます。
  • ベクタ同様、整数でインデックス指定。
Julia中級

タプル - なぜ使うか

長所

  • 保護したいデータにはタプルを使うと安全です。
  • ベクタより高速で省メモリ。

短所

  • タプルはソートできません。
  • 追加・削除・変更は不可。
Julia中級

タプル - 構文

  • かっこで囲み、値をカンマで区切って定義します。
my_tuple = (10, 20, 30, 40)
  • タプルは複数のデータ型を含めます。
my_mixed_tuple = (10, "Hello", 30, true)
Julia中級

タプル - インデックス

  • タプルは整数でインデックス指定します(ベクタと同様)。
my_tuple = (10, 20, 30, 40)
println(my_tuple[1])
10
println(my_tuple[2:3])
(20, 30)
Julia中級

タプル - 不変性

  • 作成後にタプルへ値の追加・削除はできません。
  • タプル内の値も変更できません。
my_tuple = (10, 20, 30, 40, 50)
append!(my_tuple, 60)
MethodError: no method matching append!(::NTuple{5, Int64}, ::Int64)
my_tuple = (10, 20, 30, 40, 50)
my_tuple[1] = 15
MethodError: no method matching setindex!(::NTuple{5, Int64}, ::Int64, ::Int64)
Julia中級

タプル - 不変性

  • タプルは要素数を保持します(変わらないため)。
  • これは変数の型に反映されます。
my_vector = [10, 20, 30, 40, 50]
my_tuple = (10, 20, 30, 40, 50)

println(typeof(my_vector))
println(typeof(my_tuple))
Vector{Int64}
NTuple{5, Int64}
Julia中級

タプル - NamedTuple

  • NamedTuple は、値に割り当てた名前でもアクセスできるタプルです。
  • 各値は一意の名前で表されます。
  • 不変性はタプルと同じです。
my_named_tuple = (name="Anthony", country="Australia", city="Sydney")
println(my_named_tuple[1])
println(my_named_tuple.name)
Anthony
Anthony
Julia中級

演習に進みましょう!

Julia中級

Preparing Video For Download...