Menu
CoddyTech

搜索目录

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

challenge icon

挑战

简单

通过方法 search_titles(text) 添加 SEARCH 命令。确保前面步骤中的所有命令仍像之前一样正常工作。

  • SEARCH <text>:文本可以包含空格。对于标题中包含该文本的每本书,忽略大小写,按书籍 ID 顺序每本书回复一行:Dune (available) 或 Emma (borrowed by ada)。如果没有匹配项,则回复 no matches。

提供的代码会将每一行输入传给 lib$handle(line),并将每条返回的回复单独打印在一行上。成员名称是单个小写单词,书籍 ID 是整数,输入中只包含目前介绍过的命令。对于任何其他命令,回复 unknown command。

你的代码写在 Book.R、Member.R 和 Library.R 中。main.R 包含提供的输入/输出代码,不能编辑。

亲手试试

source("Book.R")
source("Member.R")
source("Library.R")

# 提供的输入/输出代码:保持原样
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
  for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}

面向对象编程中的所有课

自己练习: R 在线编译器