تقرير المكتبة
جزء من قسم البرمجة كائنية التوجه في رحلة R على Coddy. الدرس 54 من 57.
التحدي
متوسطأضف الأمر REPORT من خلال الطريقة report_lines(). أبقِ كل أمر من الخطوات السابقة يعمل تمامًا كما كان من قبل.
REPORT: أعدbooks: 3, borrowed: 1، ثم سطرًا واحدًا لكل عضو بالترتيب الأبجدي:ada: Dune, Emmaمع العناوين بترتيب الاستعارة، أوbo: none.
يرسل الكود المقدم كل سطر إدخال إلى 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 عبر الإنترنت