Dizi Metotları
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 61 / 88.
Ruby, dizilerle çalışmayı kolaylaştıran birkaç yerleşik yöntem sunar. Bu yöntemler, kendi başınıza karmaşık kodlar yazmanıza gerek kalmadan öğeleri sıralamanıza, tersine çevirmenize ve bulmanıza yardımcı olur.
sort metodu, öğeleri artan düzende sıralar:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Çıktı: 1, 1, 3, 4, 5Elemanların sırasını tersine çevirmek için reverse metodunu kullanın:
letters = ["a", "b", "c"]
puts letters.reverse # Çıktı: c, b, aAzalan düzende sıralamak için bu yöntemleri birleştirebilirsiniz:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Çıktı: 95, 92, 85, 78min ve max metotları en küçük ve en büyük değerleri hızlıca bulur:
prices = [29, 15, 42, 8]
puts prices.min # Çıktı: 8
puts prices.max # Çıktı: 42Sayısal öğelerin toplamını hesaplamak için sum kullanın:
quantities = [2, 5, 3]
puts quantities.sum # Çıktı: 10sort ve reverse metotlarının orijinal diziyi değiştirmeden yeni diziler döndürdüğünü unutmayın. Orijinal diziyi doğrudan değiştirmek için, sort! veya reverse! örneklerinde olduğu gibi metot ismine ! ekleyin.
Görev
KolayVirgülle ayrılmış tam sayılar içeren tek bir giriş satırı okuyun (örneğin, 5,2,8,1,9,3).
Girişi bir tam sayı dizisine bölün, ardından aşağıdakileri ayrı satırlara yazdırın:
- Artan düzende sıralanmış dizi (her eleman kendi satırında)
- Azalan düzende sıralanmış dizi (her eleman kendi satırında)
- Minimum değer
- Maksimum değer
- Tüm elemanların toplamı
Netlik sağlamak için her bölüm arasına boş bir satır yazdırın.
Örneğin, giriş 5,2,8,1,9,3 ise, çıktı şöyle olmalıdır:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Giriş 10,30,20 ise, çıktı şöyle olmalıdır:
10
20
30
30
20
10
10
30
60Giriş 7,3,5,1 ise, çıktı şöyle olmalıdır:
1
3
5
7
7
5
3
1
1
7
16Kopya kağıdı
Ruby, dizilerle çalışmak için yerleşik metotlar sunar:
sort metodu, öğeleri artan düzende sıralar:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Çıktı: 1, 1, 3, 4, 5reverse metodu, öğelerin sırasını tersine çevirir:
letters = ["a", "b", "c"]
puts letters.reverse # Çıktı: c, b, aAzalan düzende sıralamak için metotları birleştirin:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Çıktı: 95, 92, 85, 78min ve max metotları, en küçük ve en büyük değerleri bulur:
prices = [29, 15, 42, 8]
puts prices.min # Çıktı: 8
puts prices.max # Çıktı: 42sum metodu, sayısal öğelerin toplamını hesaplar:
quantities = [2, 5, 3]
puts quantities.sum # Çıktı: 10Not: sort ve reverse, orijinali değiştirmeden yeni diziler döndürür. Orijinal diziyi değiştirmek için sort! veya reverse! kullanın.
Kendin dene
# Virgülle ayrılmış tam sayıları oku
input = gets.chomp
# TODO: Kodunuzu aşağıya yazın
# 1. Girişi bir tam sayı dizisine bölün
# 2. Diziyi artan düzende sıralayın ve her bir öğeyi yazdırın
# 3. Boş bir satır yazdırın
# 4. Diziyi azalan düzende sıralayın ve her bir öğeyi yazdırın
# 5. Boş bir satır yazdırın
# 6. Minimum değeri yazdırın
# 7. Maksimum değeri yazdırın
# 8. Tüm öğelerin toplamını 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