Menu
CoddyTech

搜索图书目录

本课属于 Coddy Ruby 学习旅程的“面向对象编程”单元。第 53 课,共 57 课。

challenge icon

挑战

简单

添加 SEARCH 命令。确保之前步骤中的所有命令仍按原样运行。

  • SEARCH text:文本可以包含空格。按图书 id 的顺序,每本标题包含该文本的图书回复一行,不区分大小写:Dune (available) 或 Emma (borrowed by ada)。如果没有匹配项,则回复 no matches。

提供的代码会将每一行输入传递给 library.handle(line),并将每条返回的回复单独打印一行。成员姓名是单个小写单词,图书 id 是整数,输入中只包含目前为止介绍过的命令。对于其他任何命令,都回复 unknown command。

你的代码写在 book.rb、member.rb 和 library.rb 中。main.rb 包含提供的输入/输出代码,不能编辑。

亲手试试

require_relative 'book'
require_relative 'member'
require_relative 'library'

# 提供的输入/输出代码:保持原样。
input = []
while (line = gets)
  input << line.chomp
end
library = Library.new
input.each do |line|
  library.handle(line).each { |reply| puts reply }
end

面向对象编程中的所有课

自己练习: Ruby 在线编译器