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

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

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

challenge icon

التحدي

سهل

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

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

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

يجب أن تضع كودك في book.rb وmember.rb وlibrary.rb. يحتوي main.rb على كود الإدخال/الإخراج المُزوَّد، ولا يمكن تعديله.

جرّب بنفسك

require_relative 'book'
require_relative 'member'
require_relative 'library'

# كود الإدخال/الإخراج المُزوَّد: أبقِه كما هو
input = []
while (line = gets)
  input << line.chomp
end
library = Library.new
input.each do |line|
  library.handle(line).each { |reply| puts reply }
end

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

تدرّب بنفسك: مترجم Ruby عبر الإنترنت