Projeye Genel Bakış
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 28 / 56.
Küçük bir kütüphane yöneticisi oluşturacaksın: kitapları takip eden ve kullanıcının kitap eklemesine, arama yapmasına, filtrelemesine ve kitapları okundu olarak işaretlemesine olanak tanıyan menü tabanlı bir program.
Her kitap, şu anahtarlara sahip bir hash'tir:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}Hepsini library adlı bir dizide tutacak ve menüyü yazdırıp bir seçim okuyan loop do yapısıyla tüm işlemleri yöneteceksin. Her ders menüye bir seçenek ekler:
- 1. Kitap ekle
- 2. Başlığa göre ara
- 3. Türe göre filtrele
- 4. Bir kitabı okundu olarak işaretle
- 5. Çıkış
Bu ilk ders, boş kitaplığı, menü döngüsünü ve çıkış seçeneğini oluşturur. Diğer seçenekler, daha sonra dolduracağın boş dallar olarak başlayacak.
Görev
BaşlangıçBoş bir library dizisi başlat, ardından şunları yapan bir loop do döngüsü başlat:
- Menüyü yazdır (aşağıdaki biçimin aynısı)
- Kullanıcının seçimini
gets.chompile oku - Seçim
"5"iseGoodbye!yazdır ve döngüden çık
Menü tam olarak şöyle görünmelidir:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: İmlecin aynı satırda kalması için Choose an option: isteminde print kullan.
5 girişi için çıktı şöyledir:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!Kendin dene
# TODO: boş bir kütüphane dizisi oluştur
# TODO: döngüyü çalıştır, menüyü yazdır, seçimi oku, "5" seçildiğinde çık
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ı32B Diziler
2B Dizi Temelleri2B Elemanlara Erişim2B Diziler Üzerinde YinelemeYaygın 2B ÖrüntülerTekrar - Matris İşlemleri6Proje - Kütüphane Yöneticisi
Projeye Genel BakışKitap EkleKendi başına pratik yap: Online Ruby derleyicisi