Menu
CoddyTech

归还图书

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

challenge icon

挑战

简单

通过方法 return_book(name, id) 添加 RETURN 命令。确保前面步骤中的每条命令仍和之前一样正常工作。

  • RETURN <name> <id>:像借阅时一样,回复 no member bo 或 no book 9;如果成员没有借这本书,回复 ada does not have Dune;否则,从成员的借阅记录中移除该 id,让这本书变为可借状态(borrower 变为 character(0)),并回复 ada returned Dune。

提供的代码会将每一行输入发送给 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 在线编译器