Aralık Nedir?
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 6 / 56.
Aralıkları zaten for döngüleri ve dizi dilimleme ile kullandınız. Ancak bir aralık sadece bir sözdizimi değil, gerçek bir Ruby nesnesidir; kendi metotları vardır.
.. (iki nokta, dahil) veya ... (üç nokta, bitiş değeri hariç) kullanarak bir tane oluşturun:
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4Bir aralığın tam olarak neleri kapsadığını görmek için to_a ile bir diziye dönüştürün:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]Aralıklar sadece sayılar için değildir. Harfler de dahil olmak üzere, bir sırası olan her şeyle çalışırlar:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]Görev
Başlangıçİki tam sayı okuyun (iki satırlık girdi): bir start ve bir end_value. Üç satır yazdırın:
- Dahil edici aralık
start..end_valuebir dizi olarak (inspectkullanın) - Hariç tutucu aralık
start...end_valuebir dizi olarak - Dahil edici aralığın boyutu (size)
1 ve ardından 5 girdisi için çıktı şöyledir:
[1, 2, 3, 4, 5]
[1, 2, 3, 4]
5Kopya kağıdı
Ruby'deki aralıklar .. (dahil) veya ... (bitiş hariç) kullanır:
inclusive = 1..5 # 1, 2, 3, 4, 5
exclusive = 1...5 # 1, 2, 3, 4Bir aralığı to_a ile bir diziye dönüştürün:
puts (1..5).to_a.inspect # [1, 2, 3, 4, 5]
puts (1...5).to_a.inspect # [1, 2, 3, 4]Aralıklar harflerle de çalışır:
puts ("a".."e").to_a.inspect # ["a", "b", "c", "d", "e"]Kendin dene
start = gets.to_i
end_value = gets.to_i
# YAPILACAKLAR: kapsayıcı aralığı, hariç tutan aralığı ve kapsayıcı boyutu yazdırın
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ı