Skip to main content

🧩 Ruby'de Dizilerle (Array) Çalışma: Temel Veri Yönetimi Rehberi

Ruby’de diziler (arrays), birden fazla değeri tek bir değişkende tutarak verilerinizi düzenli hale getirir. Bu rehberde dizilerle oluşturma, erişim, ekleme, silme, değiştirme ve yineleme (iteration) işlemlerini adım adım öğreneceksiniz.


🧠 Bu Rehberde Ne Öğreneceksiniz?

  • Ruby’de dizi oluşturma yöntemleri ([], %w{})
  • Elemanlara erişim (index, first, last)
  • Eleman ekleme (push, <<, unshift)
  • Eleman silme (delete, delete_at, pop, shift)
  • Eleman değiştirme
  • Dizi üzerinde döngü (for, each, each_with_index)

1️⃣ Dizi Oluşturma

Her bir veriyi ayrı değişkenlerde saklamak yerine, bir dizide toplayabilirsiniz:

baliklar = ["Vatoz", "Levrek", "Palamut"]
print baliklar
# ["Vatoz", "Levrek", "Palamut"]

💬 Köşeli parantez ([]) ile elemanları virgülle ayırarak dizi oluşturabilirsiniz.

String dizileri için %w{} daha kısa bir sözdizim sunar:

gunler = %w{Pazartesi Sali Carsamba Persembe Cuma Cumartesi Pazar}

💬 Tırnak ve virgül yazmanıza gerek kalmaz.

Farklı veri türlerini karıştırmak mümkündür:

karma = ["Rabisu", 10, nil, ["sunucu", "bulut"]]

2️⃣ Dizi Elemanlarına Erişim

Diziler sıfırdan indekslenir (0 ilk elemandır):

puts baliklar[0]  # "Vatoz"
puts baliklar[-1] # "Palamut"

Eleman sayısını öğrenmek:

baliklar.length # 3

Bir elemanın konumunu bulmak:

baliklar.index("Levrek") # 1
baliklar.index("Kalkan") # nil

İlk ve son eleman:

baliklar.first # "Vatoz"
baliklar.last # "Palamut"

İç içe dizilere erişim:

ic_ice = [["masa", "sandalye"], ["defter", "kalem"]]
print ic_ice[1][0] # "defter"

3️⃣ Diziye Eleman Ekleme

Doğrudan indeksle ekleme:

baliklar[3] = "Hamsi"
# ["Vatoz", "Levrek", "Palamut", "Hamsi"]

💬 Atladığınız indekslerde boşluklar nil olur.

Sona ekleme (push veya <<):

baliklar.push("Kefal")
baliklar << "Lüfer"
# ["Vatoz", "Levrek", "Palamut", "Hamsi", "Kefal", "Lüfer"]

Başa ekleme (unshift):

baliklar.unshift("Dil Balığı")
# ["Dil Balığı", "Vatoz", "Levrek", "Palamut", "Hamsi", "Kefal", "Lüfer"]

4️⃣ Diziden Eleman Silme

Belirli bir indeksteki elemanı kaldırma:

baliklar.delete_at(0)
# ["Vatoz", "Levrek", "Palamut", "Hamsi", "Kefal", "Lüfer"]

Belirli değeri silme:

baliklar.delete("Hamsi")
# ["Vatoz", "Levrek", "Palamut", "Kefal", "Lüfer"]

Sondan silme (pop):

baliklar.pop
# ["Vatoz", "Levrek", "Palamut", "Kefal"]

Baştan silme (shift):

baliklar.shift
# ["Levrek", "Palamut", "Kefal"]

💬 pop sondan, shift baştan eleman kaldırır.


5️⃣ Eleman Güncelleme

Belirli bir elemanı değiştirmek:

baliklar[0] = "Mezgit"
print baliklar
# ["Mezgit", "Palamut", "Kefal"]

6️⃣ Dizilerde Döngü (İterasyon)

Ruby dizilerinde döngüler, elemanları tek tek işlemek için kullanılır.

for..in yapısı:

for balik in baliklar do
puts balik
end

each metodu:

baliklar.each do |balik|
puts balik
end

Tek satır formu:

baliklar.each { |balik| puts balik }

İndeksle birlikte döngü (each_with_index):

baliklar.each_with_index do |balik, index|
puts "Konum: #{index}, Değer: #{balik}"
end

💬 Sıkça Sorulan Sorular (SSS)

1️⃣ Dizi mi, Hash mi kullanmalıyım? Verileriniz sıralı listeyse dizi, anahtar-değer ilişkisine sahipse Hash kullanın.

2️⃣ push ve unshift farkı nedir? push sona ekler, unshift başa ekler. unshift diğer indeksleri kaydırır.

3️⃣ Nil değerleri neden oluşur? Atlama yaparak eleman eklerseniz, boş kalan indekslere nil yerleşir.

4️⃣ Dizi nasıl tamamen temizlenir? dizi.clear komutuyla diziyi sıfırlayabilirsiniz.

5️⃣ each_with_index ne işe yarar? Elemanın hem değerini hem indeksini aynı anda döndürür.


🎯 Sonuç

Bu rehberde Ruby dizilerinin temel yapı taşlarını öğrendiniz: dizi oluşturma, erişim, eleman ekleme, silme, güncelleme ve döngü ile gezinme.

💡 Deneyin: Rabisu Bulut platformunda bir Ruby ortamı kurarak bu örnekleri uygulayın.