استعارة الكتب
جزء من قسم البرمجة كائنية التوجه في رحلة R على Coddy. الدرس 51 من 57.
التحدي
سهلأضف الأمر 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 = "")
}
جميع دروس البرمجة كائنية التوجه
1أساسيات S3
التعامل مع الملفاتالقوائم باستخدام فئةدوال المُنشئأساليب الطباعة والتنسيقأدوات التحقق والمساعدةمراجعة - درجات الحرارة2S3 الدوال العامة والطرق
الدوال العامة وUseMethodالطرق الافتراضيةطرق الدوال العامة الأساسيةأساسيات NextMethodمراجعة - مساحات الأشكالتدرّب بنفسك: مترجم R عبر الإنترنت