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

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

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

challenge icon

التحدي

سهل

أضف الأمر SEARCH. يوجد كودك من الخطوة السابقة بالفعل في Library.kt؛ حافظ على عمل كل أمر تمامًا كما كان من قبل.

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

يمرّر الكود المزوّد كل سطر إدخال إلى library.handle(line) ويطبع كل رد مُعاد في سطر مستقل. أسماء الأعضاء عبارة عن كلمات مفردة بأحرف صغيرة، ومعرّفات الكتب أعداد صحيحة، ولا يحتوي الإدخال إلا على الأوامر الموضحة حتى الآن. أي أمر آخر يُرجع unknown command.

ضع كودك في Book.kt وMember.kt وLibrary.kt. يحتوي Main.kt على كود الإدخال/الإخراج المزوّد ولا يمكن تعديله.

جرّب بنفسك

fun main() {
    // كود الإدخال/الإخراج المُزوَّد: أبقِه كما هو
    val input = generateSequence(::readLine).toList()
    val library = Library()
    for (line in input) {
        for (reply in library.handle(line)) println(reply)
    }
}

جميع دروس البرمجة كائنية التوجه

تدرّب بنفسك: Playground لـ Kotlin