Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استعارة الكتب

جزء من قسم البرمجة كائنية التوجه في رحلة R على Coddy. الدرس 51 من 57.

challenge icon

التحدي

سهل

أضف الأمر BORROW من خلال الطريقة borrow(name, id). أبقِ كل أمر من الخطوات السابقة يعمل تمامًا كما كان من قبل.

  • BORROW <name> <id>: تحقّق بهذا الترتيب وأرسل أول مشكلة: no member bo، no book 9، Dune is not available، ada has reached the limit (يمكن للأعضاء الاحتفاظ بحد أقصى قدره limit من الكتب، وهو 2). وإلا، فسجّل الإعارة على كلٍّ من الكتاب (borrower) والعضو (borrowed) وأرسل الرد ada borrowed Dune.

يرسل الكود المزوّد كل سطر إدخال إلى lib$handle(line) ويطبع كل رد مُعاد في سطر خاص به. أسماء الأعضاء عبارة عن كلمات مفردة بأحرف لاتينية صغيرة، ومعرّفات الكتب أعداد صحيحة، والإدخال لا يحتوي إلا على الأوامر الموضحة حتى الآن. يرسل أي أمر آخر الرد 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 عبر الإنترنت