Ruby, dizileri birleştirmek için her birinin kendine özgü özellikleri olan çeşitli yollar sunar. Bu kılavuz, davranışlarını gösteren örnekler sağlayarak en yaygın ve verimli yöntemleri inceliyor.
İçindekiler
concat
ile Dizi Birleştirme+
Operatörü ile Dizi Birleştirmepush
ve Yayılma Operatörü ile Dizi Birleştirmeappend
ile Dizi Birleştirmeunion
ile Dizi Birleştirme|
Operatörü ile Dizi Birleştirme- Sonuç
1. concat
ile Dizi Birleştirme
concat
metodu, başka bir dizinin elemanlarını kendi sonuna ekleyerek orijinal diziyi değiştirir. Çağırdığı diziyi doğrudan değiştirerek yerinde bir işlemdir.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.concat(array2)
puts array1 # Çıktı: [1, 2, 3, 4, 5, 6]
puts array2 # Çıktı: [4, 5, 6] (array2 değişmeden kalır)
2. +
Operatörü ile Dizi Birleştirme
+
operatörü, her iki dizideki tüm elemanları içeren yeni bir dizi oluşturur. Orijinal diziler dokunulmadan kalır.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = array1 + array2
puts merged_array # Çıktı: [1, 2, 3, 4, 5, 6]
puts array1 # Çıktı: [1, 2, 3] (array1 değişmeden kalır)
puts array2 # Çıktı: [4, 5, 6] (array2 değişmeden kalır)
3. push
ve Yayılma Operatörü ile Dizi Birleştirme
push
metodu, bir dizinin sonuna eleman ekler. Yayılma operatörü (*
), başka bir diziyi açarak tüm elemanlarını bir kerede eklemenizi sağlar. Bu, concat
gibi orijinal diziyi değiştirir.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.push(*array2)
puts array1 # Çıktı: [1, 2, 3, 4, 5, 6]
puts array2 # Çıktı: [4, 5, 6] (array2 değişmeden kalır)
4. append
ile Dizi Birleştirme
append
metodu, push
‘un bir eşanlamlısıdır; aynı şekilde çalışırlar.
array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.append(*array2)
puts array1 # Çıktı: [1, 2, 3, 4, 5, 6]
puts array2 # Çıktı: [4, 5, 6] (array2 değişmeden kalır)
5. union
ile Dizi Birleştirme
union
metodu (veya diğer adı |
operatörü), her iki giriş dizisindeki yalnızca benzersiz elemanları içeren yeni bir dizi döndürür. Yinelenen elemanlar kaldırılır.
array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]
merged_array = array1.union(array2)
puts merged_array # Çıktı: [1, 2, 3, 4, 5]
puts array1 # Çıktı: [1, 2, 3, 3] (array1 değişmeden kalır)
puts array2 # Çıktı: [3, 4, 5] (array2 değişmeden kalır)
6. |
Operatörü ile Dizi Birleştirme
Bu, union
metodunun kısaltmasıdır ve aynı sonucu üretir.
array1 = [1, 2, 3, 3]
array2 = [3, 4, 5]
merged_array = array1 | array2
puts merged_array # Çıktı: [1, 2, 3, 4, 5]
puts array1 # Çıktı: [1, 2, 3, 3] (array1 değişmeden kalır)
puts array2 # Çıktı: [3, 4, 5] (array2 değişmeden kalır)
7. Sonuç
Ruby, dizi birleştirme için çeşitli yöntemler sunarak özel ihtiyaçlarınıza göre en uygun yaklaşımı seçmenizi sağlar. Yerinde değişikliğin mi yoksa yeni bir dizinin mi gerekli olduğunu ve yinelenen elemanların korunup korunmaması gerektiğini göz önünde bulundurun. Yeni diziler oluşturmak için +
operatörü ve union
metodu genellikle daha iyi okunabilirlik sunar. concat
ve push
, dizileri doğrudan değiştirmek için verimlidir. Bu incelikleri anlamak, net ve verimli Ruby kodu yazmayı sağlar.