Aralık Metotları
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 7 / 56.
Aralıklar, sizi elle döngü yazmaktan kurtaran kullanışlı metotlarla birlikte gelir.
include? bir değerin aralık içinde olup olmadığını kontrol eder:
range = 1..10
puts range.include?(5) # true
puts range.include?(11) # falsemin, max ve size doğrudan aralıklar üzerinde çalışır:
puts (1..10).min # 1
puts (1..10).max # 10
puts (1..10).size # 10step, aralık üzerinde belirli bir miktarda atlayarak yinelenir; her değeri istemediğiniz durumlarda kullanışlıdır:
(0..10).step(2) do |n|
puts n
end
# 0, 2, 4, 6, 8, 10Ve each tıpkı dizilerde olduğu gibi çalışır:
(1..3).each { |n| puts n * n }
# 1
# 4
# 9Görev
KolaySize kapsayıcı bir aralık ve bir tahmin listesi veriliyor. Tahminleri puanlayın ve aralığı özetleyin.
İki satır okuyun:
- Boşlukla ayrılmış iki tam sayı:
startveend_value - Virgülle ayrılmış tam sayı tahminleri listesi
start..end_value aralığını kullanarak şunları yazdırın:
Hit: <n>, buradanaralığa düşen tahmin sayısıdır (include?kullanın)Span: <n>, buradanaralığınsizedeğeridirMultiples of 3 sum: <n>, buradanaralıktaki her 3'ün katının toplamıdır (startdeğerinde veya sonrasındaki ilk 3'ün katından başlayarakstepkullanın)
İlk satırdaki 1 10 ve ikinci satırdaki 3,5,11,7,-2 girişi için çıktı şöyledir:
Hit: 3
Span: 10
Multiples of 3 sum: 18(İsabetler: 3, 5, 7. 1..10 arasındaki 3'ün katları: 3+6+9 = 18.)
Kopya kağıdı
Faydalı Range metotları:
range = 1..10
range.include?(5) # true
range.min # 1
range.max # 10
range.size # 10step belirli bir miktarda atlayarak yineler:
(0..10).step(2) { |n| puts n }
# 0, 2, 4, 6, 8, 10each tıpkı dizilerdeki gibi çalışır:
(1..3).each { |n| puts n * n }Kendin dene
start, end_value = gets.chomp.split.map(&:to_i)
guesses = gets.chomp.split(",").map(&:to_i)
# YAPILACAK: include? ile isabet sayısı, size ile aralık, step ile 3'ün katlarının toplamı
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String Metotlarına Genel BakışString InterpolationStringler Üzerinde GezinmeSplit ve JoinÖzet - String Weaver4Bloklar, Procs ve Lambdalar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar KelimesiBlok ParametreleriProcs ve LambdalarÖzet - Özel İteratör7Hashes Bölüm 2
Varsayılan Değerlerle Hash.newHash Yapıları Üzerinde Yinelemeİç İçe Hash YapılarıBirleştirme ve DönüştürmeÖzet - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Select ve RejectMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byÖzet - Data Pipeline8İleri Seviye Karar Yapıları
Sınıflar ve Regex ile CaseÇok Değerli whenTernary OperatörüSatır İçi if / unlessÖzet - Not Sınıflandırıcı