Menu
CoddyTech

Tổng quan dự án

Thuộc phần Logic và luồng xử lý trong hành trình Ruby của Coddy. Bài học 28 trên 56.

Bạn sẽ xây dựng một chương trình quản lý thư viện nhỏ: một chương trình có menu để theo dõi sách và cho phép người dùng thêm, tìm kiếm, lọc sách cũng như đánh dấu sách đã đọc.

Mỗi cuốn sách là một hash có các khóa sau:

{
  title:  "The Great Gatsby",
  author: "F. Scott Fitzgerald",
  genre:  "Fiction",
  read:   false
}

Bạn sẽ lưu tất cả sách trong một mảng có tên library và điều khiển toàn bộ chương trình bằng một loop do để in ra menu và đọc lựa chọn. Mỗi bài học sẽ thêm một tùy chọn vào menu:

  • 1. Thêm sách
  • 2. Tìm theo tiêu đề
  • 3. Lọc theo thể loại
  • 4. Đánh dấu sách là đã đọc
  • 5. Thoát

Bài học đầu tiên này thiết lập thư viện trống, vòng lặp menu và tùy chọn thoát. Các tùy chọn khác sẽ bắt đầu dưới dạng những nhánh trống để bạn điền vào sau.

challenge icon

Thử thách

Người mới

Khởi tạo một mảng library rỗng, sau đó bắt đầu một loop do để:

  1. In menu (đúng định dạng bên dưới)
  2. Đọc lựa chọn của người dùng bằng gets.chomp
  3. Nếu lựa chọn là "5", in Goodbye! rồi thoát khỏi vòng lặp

Menu phải trông chính xác như sau:

--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: 

Dùng print cho lời nhắc Choose an option: để con trỏ vẫn ở cùng dòng.

Với đầu vào 5, đầu ra là:

--- Library Manager ---
1. Add Book
2. Search By Title
3. Filter By Genre
4. Mark As Read
5. Exit
Choose an option: Goodbye!

Tự làm thử

# TODO: khởi tạo một mảng (array) thư viện rỗng

# TODO: dùng vòng lặp (loop) do, in ra menu, đọc lựa chọn, thoát khi chọn "5"
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Logic và luồng xử lý

Tự luyện tập: Trình biên dịch Ruby online