Menu
CoddyTech

项目概览

本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 28 课,共 56 课。

你将构建一个小型图书管理器:这是一个菜单驱动的程序,用于跟踪图书,并让用户添加、搜索、筛选图书,还可以将图书标记为已读。

每本书都是一个哈希,包含以下键:

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

你会把它们全部放在一个名为 library 的数组中,并通过一个 loop do 循环来控制整个程序,在循环中显示菜单并读取选项。每节课都会为菜单添加一个选项:

  • 1. 添加一本书
  • 2. 按书名搜索
  • 3. 按类型筛选
  • 4. 将一本书标记为已读
  • 5. 退出

这节课首先会搭建空的库、菜单循环和退出选项。其他选项会先留空,之后再由你填充。

challenge icon

挑战

入门

初始化一个空的 library 数组,然后启动一个 loop do 循环,该循环会:

  1. 打印菜单(格式如下)
  2. 使用 gets.chomp 读取用户的选择
  3. 如果选择是 "5",则打印 Goodbye! 并跳出循环

菜单必须与下面完全一致:

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

使用 print 输出 Choose an option: 提示,这样光标就会停留在同一行。

输入 5 时,输出为:

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

亲手试试

# TODO: 初始化一个空的 library 数组

# TODO: 使用 do 循环,打印菜单,读取选项,输入 "5" 时退出
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Ruby 在线编译器