蔵書検索
CoddyのRubyジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 53/57。
チャレンジ
簡単SEARCH コマンドを追加してください。前の手順までにあったすべてのコマンドが、これまでどおり正確に動作するようにしてください。
SEARCH text:text にはスペースを含めることができます。大文字と小文字を区別せず、タイトルに text を含む本ごとに、書籍 ID の順で 1 行ずつ返してください:Dune (available)またはEmma (borrowed by ada)。一致するものがない場合はno matchesを返してください。
提供されたコードは、すべての入力行を library.handle(line) に渡し、返された各応答をそれぞれ別の行に出力します。メンバー名は小文字のみの 1 語で、書籍 ID は整数です。また、入力にはここまでに説明したコマンドのみが含まれます。それ以外のコマンドには 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オンラインコンパイラ