البحث في الفهرس
جزء من قسم البرمجة كائنية التوجه في رحلة Kotlin على Coddy. الدرس 53 من 57.
التحدي
سهلأضف الأمر 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)
}
}
جميع دروس البرمجة كائنية التوجه
1الفئات والكائنات
العمل مع الملفاتتعريف الفئاتالمنشئات الأساسيةكتل init والتحقق من الصحةالمنشئات الثانويةمراجعة - بطاقة المكتبة4الوراثة
الأصناف المفتوحة والأصناف الفرعيةتجاوز الأعضاءsuper والمنشئاتالأصناف المجرّدةمراجعة - دليل الموظفينتدرّب بنفسك: Playground لـ Kotlin