إرجاع الكتب
جزء من قسم البرمجة كائنية التوجه في رحلة R على Coddy. الدرس 52 من 57.
التحدي
سهلأضف الأمر RETURN من خلال الطريقة return_book(name, id). حافظ على عمل كل أمر من الخطوات السابقة تمامًا كما كان من قبل.
RETURN <name> <id>: أعدno member boأوno book 9كما في حالة الاستعارة؛ إذا لم يكن العضو يحتفظ بذلك الكتاب، فأعدada does not have Dune؛ وإلا فأزل المعرّف من قروض العضو، واجعل الكتاب متاحًا (يصبحborrowerهوcharacter(0)) وأعدada returned 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 = "")
}
جميع دروس البرمجة كائنية التوجه
1أساسيات S3
التعامل مع الملفاتالقوائم باستخدام فئةدوال المُنشئأساليب الطباعة والتنسيقأدوات التحقق والمساعدةمراجعة - درجات الحرارة2S3 الدوال العامة والطرق
الدوال العامة وUseMethodالطرق الافتراضيةطرق الدوال العامة الأساسيةأساسيات NextMethodمراجعة - مساحات الأشكالتدرّب بنفسك: مترجم R عبر الإنترنت