Tüpler

Orta Düzey Julia

Anthony Markham

Quantitative Developer

Tüpler - giriş

  • Değişmez, sıralı bir değer koleksiyonu.
  • Her türde değer içerebilir.
  • Vektörlerde olduğu gibi tam sayı ile indekslenir.
Orta Düzey Julia

Tüpler - neden?

Avantajlar

  • Korumak istediğiniz veriler için tuple kullanırsanız kodunuz daha güvenlidir.
  • Vektörlerden daha hızlıdır, daha az bellek kullanır.

Dezavantajlar

  • Tuple’lar sıralanamaz.
  • Değer ekleme, silme veya değiştirme yapılamaz.
Orta Düzey Julia

Tüpler - sözdizimi

  • Parantez kullanarak, her değeri virgülle ayırarak bir tuple tanımlayın.
my_tuple = (10, 20, 30, 40)
  • Bir tuple birden çok veri türü içerebilir.
my_mixed_tuple = (10, "Hello", 30, true)
Orta Düzey Julia

Tüpler - indeksleme

  • Tuple’lar tamsayılarla indekslenir (vektörlerle aynıdır).
my_tuple = (10, 20, 30, 40)
println(my_tuple[1])
10
println(my_tuple[2:3])
(20, 30)
Orta Düzey Julia

Tüpler - değişmezlik

  • Bir tuple oluşturulduktan sonra değer ekleyip çıkaramayız.
  • Tuple içindeki değerleri değiştiremeyiz.
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)
Orta Düzey Julia

Tüpler - değişmezlik

  • Bir tuple, içerdiği eleman sayısını izler; bu sayı değişmez.
  • Bu durum değişkenin türüne yansır.
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}
Orta Düzey Julia

Tüpler - NamedTuple

  • NamedTuple, elemanlarına değerin adına göre de erişilebilen bir tuple’dır.
  • Bir NamedTuple içindeki her değer benzersiz bir adla temsil edilir.
  • NamedTuple’lar tuple’larla aynı değişmezlik özelliklerine sahiptir.
my_named_tuple = (name="Anthony", country="Australia", city="Sydney")
println(my_named_tuple[1])
println(my_named_tuple.name)
Anthony
Anthony
Orta Düzey Julia

Hadi pratik yapalım!

Orta Düzey Julia

Preparing Video For Download...