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.)
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
1Dizeler Detaylı İnceleme
Dize Metotlarına Genel BakışDize EnterpolasyonuDizeler Üzerinde YinelemeBölme ve BirleştirmeTekrar - Dize Dokuyucu4Bloklar, Proc'lar ve Lambda'lar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar SözcüğüBlok ParametreleriProc'lar ve Lambda'larÖzet - Özel Yineleyici7Hash'ler 2. Bölüm
Varsayılanlarla Hash.newHash'ler Üzerinde Yinelemeİç İçe Hash'lerBirleştirme ve DönüştürmeTekrar - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Seçme ve ReddetmeMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byTekrar - Veri HattıKendi başına pratik yap: Online Ruby derleyicisi