搜索图书目录
本课属于 Coddy Ruby 学习旅程的“面向对象编程”单元。第 53 课,共 57 课。
挑战
简单添加 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 在线编译器