Ikhtisar Proyek
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 28 dari 56.
Kamu akan membuat pengelola library kecil: program berbasis menu yang mencatat buku dan memungkinkan pengguna menambahkan, mencari, memfilter, dan menandai buku sebagai sudah dibaca.
Setiap buku adalah hash dengan kunci berikut:
{
title: "The Great Gatsby",
author: "F. Scott Fitzgerald",
genre: "Fiction",
read: false
}Kamu akan menyimpan semuanya dalam array bernama library dan menjalankan seluruh program melalui loop do yang mencetak menu dan membaca pilihan. Setiap pelajaran menambahkan satu opsi ke menu:
- 1. Tambahkan buku
- 2. Cari berdasarkan judul
- 3. Filter berdasarkan genre
- 4. Tandai buku sebagai sudah dibaca
- 5. Keluar
Pelajaran pertama ini menyiapkan library kosong, perulangan menu, dan opsi keluar. Opsi lainnya akan dimulai sebagai cabang kosong yang kamu isi nanti.
Tantangan
PemulaInisialisasi array library yang kosong, lalu mulai loop do yang:
- Menampilkan menu (format persis seperti di bawah)
- Membaca pilihan pengguna dengan
gets.chomp - Jika pilihannya
"5", menampilkanGoodbye!lalu keluar dari perulangan
Menu harus terlihat persis seperti ini:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Gunakan print untuk prompt Choose an option: agar kursor tetap berada di baris yang sama.
Untuk input 5, output-nya adalah:
--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!Coba sendiri
# TODO: inisialisasi array library kosong
# TODO: buat perulangan do, tampilkan menu, baca pilihan, lalu keluar saat pilihan "5"
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi Nilai3Array 2D
Dasar Array 2DMengakses Elemen Array 2DMenelusuri Array 2DPola Umum Array 2DRekap: Operasi Matriks6Proyek: Pengelola Perpustakaan
Ikhtisar ProyekTambahkan BukuLatihan sendiri: Compiler Ruby online