Menu
Coddy logo textTech

חיפוש בקטלוג

חלק מהיחידה תכנות מונחה עצמים במסלול ה-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 אונליין