Tuples

Julia voor gevorderden

Anthony Markham

Quantitative Developer

Tuples - introductie

  • Een onveranderlijke, geordende verzameling waarden.
  • Kan waarden van elk datatype bevatten.
  • Indexering met gehele getallen, net als bij vectors.
Julia voor gevorderden

Tuples - waarom?

Voordelen

  • Je code is veiliger als je tuples gebruikt voor data die je wilt beschermen.
  • Sneller dan vectors en gebruikt minder geheugen.

Nadelen

  • Tuples kun je niet sorteren.
  • Je kunt geen waarden toevoegen, verwijderen of wijzigen.
Julia voor gevorderden

Tuples - syntaxis

  • Definieer een tuple met haakjes en komma’s tussen de waarden.
my_tuple = (10, 20, 30, 40)
  • Een tuple kan meerdere datatypes bevatten.
my_mixed_tuple = (10, "Hello", 30, true)
Julia voor gevorderden

Tuples - indexering

  • Tuples worden geïndexeerd met gehele getallen (zoals bij vectors).
my_tuple = (10, 20, 30, 40)
println(my_tuple[1])
10
println(my_tuple[2:3])
(20, 30)
Julia voor gevorderden

Tuples - onveranderlijkheid

  • Je kunt na het maken geen waarden aan een tuple toevoegen of verwijderen.
  • Je kunt waarden in een tuple niet wijzigen.
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 voor gevorderden

Tuples - onveranderlijkheid

  • Een tuple bewaakt het aantal elementen, omdat dit niet kan veranderen.
  • Dit zie je terug in het type van de variabele.
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 voor gevorderden

Tuples - NamedTuple

  • Een NamedTuple is een tuple waarvan de elementen ook via een aan de waarde toegekende naam toegankelijk zijn.
  • Elke waarde in een NamedTuple heeft een unieke naam.
  • NamedTuples zijn net zo onveranderlijk als tuples.
my_named_tuple = (name="Anthony", country="Australia", city="Sydney")
println(my_named_tuple[1])
println(my_named_tuple.name)
Anthony
Anthony
Julia voor gevorderden

Laten we oefenen!

Julia voor gevorderden

Preparing Video For Download...