Each Yineleyicisi
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 65 / 88.
Ruby, diziler üzerinde döngü kurmak için for veya while döngülerini kullanmaktan daha zarif bir yol sunar. each yineleyicisi, bir koleksiyondaki her öğeyi işlemek için tercih edilen Ruby yöntemidir.
İşte temel sözdizimi:
fruits = ["apple", "banana", "cherry"]
fruits.each do |fruit|
puts fruit
endBu, her meyveyi ayrı bir satıra yazdırır. Borular (|fruit|) arasındaki değişkene blok değişkeni denir. Yineleyici dizi boyunca ilerlerken her bir öğeyi geçici olarak tutar.
Tek satırlık bloklar için do...end yerine süslü parantez kullanabilirsiniz:
numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }each metodu güçlüdür çünkü her bir öğe üzerinde herhangi bir işlem gerçekleştirebilirsiniz. İşte kümülatif toplamı hesaplayan bir örnek:
prices = [10, 25, 15]
total = 0
prices.each do |price|
total += price
end
puts total # Çıktı: 50for döngülerinin aksine, each içindeki blok değişkeni blok içinde kalır; bu da kodunuzun daha temiz kalmasını sağlar ve beklenmedik davranışlara karşı daha az eğilimli hale getirir.
Görev
KolayVirgülle ayrılmış tam sayılar içeren tek bir giriş satırı okuyun (örneğin, 4,7,2,9,5).
Girişi bir tam sayı dizisine bölün, ardından aşağıdakileri yapmak için each yineleyicisini kullanın:
- Her sayının 3 ile çarpımını kendi satırına yazdırın
- Tüm sayıların toplamını hesaplayın ve döngüden sonra yazdırın
Dizi boyunca yinelerken toplamı biriktirmek için döngüden önce 0 olarak başlatılmış bir değişken kullanın.
Örneğin, giriş 4,7,2,9,5 ise, çıktı şöyle olmalıdır:
12
21
6
27
15
Sum: 27Giriş 10,20,30 ise, çıktı şöyle olmalıdır:
30
60
90
Sum: 60Giriş 1,2,3,4 ise, çıktı şöyle olmalıdır:
3
6
9
12
Sum: 10Giriş 5 ise, çıktı şöyle olmalıdır:
15
Sum: 5Kopya kağıdı
each yineleyicisi, diziler arasında döngü kurmak için tercih edilen Ruby yöntemidir:
fruits = ["apple", "banana", "cherry"]
fruits.each do |fruit|
puts fruit
endDikey çizgiler arasındaki değişken (|fruit|), her bir öğeyi geçici olarak tutan bir blok değişkenidir.
Tek satırlık bloklar için süslü parantez kullanın:
numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }Her bir öğe üzerinde, yürüyen toplam hesaplamak gibi işlemler gerçekleştirebilirsiniz:
prices = [10, 25, 15]
total = 0
prices.each do |price|
total += price
end
puts total # Outputs: 50Kendin dene
# Virgülle ayrılmış tam sayıları oku
input = gets.chomp
# Girişi bir tam sayı dizisine böl
numbers = input.split(",").map(&:to_i)
# Toplam değişkenini başlat
sum = 0
# TODO: Kodunuzu aşağıya yazın
# Şunları yapmak için each yineleyicisini kullanın:
# 1. Her sayının 3 ile çarpımını yazdırın
# 2. Her sayıyı sum değişkenine ekleyin
# Nihai toplamı yazdır
puts "Sum: #{sum}"Bu 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