Dizi Operatörleri
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 71 / 88.
Ruby, dizileri güçlü yollarla birleştirmenize, karşılaştırmanıza ve işlemenize olanak tanıyan özel operatörler sunar. Bu operatörler, aynı anda birden fazla diziyle çalışmayı kolaylaştırır.
+ operatörü iki diziyi yeni bir dizi oluşturacak şekilde birleştirir:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # Çıktı: 1, 2, 3, 4, 5, 6- operatörü, ikinci dizide bulunan öğeleri birinci diziden çıkarır:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # Çıktı: 1, 3, 5& operatörü her iki dizide de ortak olan öğeleri döndürür (kesişim):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # Çıktı: 3, 4| operatörü dizileri birleştirir ve yinelenenleri kaldırır (birleşim):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # Çıktı: 1, 2, 3, 4, 5Tüm bu operatörler yeni diziler oluşturur ve orijinal dizileri değiştirmeden bırakır.
Görev
KolayHer biri virgülle ayrılmış tam sayılar içeren iki satırlık girdi okuyun:
- Birinci dizi (örneğin,
1,2,3,4,5) - İkinci dizi (örneğin,
3,4,5,6,7)
Aşağıdaki işlemleri gerçekleştirin ve sonuçları her biri kendi satırında olacak şekilde yazdırın:
- Her iki dizinin birleştirilmesinden (concatenation) elde edilen her bir öğeyi yazdırın (
+kullanarak) - Ayırıcı olarak
---yazdırın - Fark (birinci dizi eksi ikinci dizi) işleminin her bir öğesini yazdırın (
-kullanarak) - Ayırıcı olarak
---yazdırın - Kesişim (ortak öğeler) işleminin her bir öğesini yazdırın (
&kullanarak) - Ayırıcı olarak
---yazdırın - Birleşim (tekrarlar olmadan birleştirilmiş) işleminin her bir öğesini yazdırın (
|kullanarak)
Örneğin, girdiler 1,2,3,4,5 ve 3,4,5,6,7 ise çıktı şu şekilde olmalıdır:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7Girdiler 10,20,30 ve 30,40,50 ise çıktı şu şekilde olmalıdır:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50Girdiler 5,10,15 ve 1,2,3 ise çıktı şu şekilde olmalıdır:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3Kopya kağıdı
Ruby, dizileri birleştirmek, karşılaştırmak ve işlemek için özel operatörler sağlar:
+ operatörü iki diziyi birleştirir:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b # [1, 2, 3, 4, 5, 6]- operatörü, ikinci dizide bulunan öğeleri ilk diziden çıkarır:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove # [1, 3, 5]& operatörü kesişimi (ortak öğeleri) döndürür:
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b # [3, 4]| operatörü birleşimi (yinelenenler olmadan birleştirilmiş) döndürür:
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b # [1, 2, 3, 4, 5]Tüm bu operatörler yeni diziler oluşturur ve orijinal dizileri değiştirilmeden bırakır.
Kendin dene
# Giriş dizilerini oku
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# YAPILACAK: Kodunuzu aşağıya yazın
# Aşağıdaki işlemleri gerçekleştirin:
# 1. + kullanarak birleştirme
# 2. - kullanarak fark
# 3. & kullanarak kesişim
# 4. | kullanarak birleşim
# Her sonucu işlemler arasında ayırıcı olarak "---" ile yazdırınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect