Menu
Coddy logo textTech

蔵書検索

CoddyのRubyジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 53/57。

challenge icon

チャレンジ

簡単

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オンラインコンパイラ