図書館レポート
CoddyのRubyジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 54/57。
チャレンジ
中級REPORTコマンドを追加してください。前の手順で動作していたすべてのコマンドは、これまでどおり正確に動作させてください。
REPORT:books: 3, borrowed: 1を返し、その後、メンバーごとにアルファベット順で1行ずつ出力します。借りた順序のタイトルを含めた形式はada: Dune, Emma、借りていない場合はbo: noneです。
提供されたコードは、すべての入力行を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オンラインコンパイラ