Menu
Coddy logo textTech

図書館レポート

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

challenge icon

チャレンジ

中級

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