Menu
Coddy logo textTech

図書館レポート

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

challenge icon

チャレンジ

中級

REPORT コマンドを追加してください。前の手順までにあったすべてのコマンドが、以前とまったく同じように動作し続けるようにしてください。

  • REPORT: books: 3, borrowed: 1 と返答し、その後にメンバーごとにアルファベット順で1行ずつ出力します。タイトルは借りた順に並べ、ada: Dune, Emma のようにします。借りた本がない場合は bo: none のようにします。

提供されたコードは、入力された各行を library.handle(_:) に渡し、返された各返答をそれぞれ独立した行に出力します。メンバー名は小文字のみの1語で、書籍IDは整数であり、入力にはここまでに説明したコマンドだけが含まれます。それ以外のコマンドには unknown command と返答します。

コードは Book.swift、Member.swift、および Library.swift に記述します。main.swift には提供された入出力コードが含まれており、編集できません。

自分で試してみよう

// 提供された入出力コード: そのままにしておく
var input: [String] = []
while let line = readLine() { input.append(line) }
let library = Library()
for line in input {
    for reply in library.handle(line) { print(reply) }
}

オブジェクト指向プログラミングのすべてのレッスン

自分で練習してみよう: Swiftプレイグラウンド