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

البحث في الفهرس

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

challenge icon

التحدي

سهل

أضف الأمر SEARCH من خلال الطريقة search_titles(text). حافظ على عمل كل أمر من الخطوات السابقة تمامًا كما كان.

  • SEARCH <text>: قد يحتوي النص على مسافات. أعد سطرًا واحدًا لكل كتاب يحتوي عنوانه على النص، مع تجاهل حالة الأحرف، وبترتيب معرّف الكتاب: Dune (available) أو Emma (borrowed by ada). عند عدم وجود تطابق، أعد no matches.

يرسل الكود المُزوَّد كل سطر إدخال إلى 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 عبر الإنترنت