図書館レポート
CoddyのKotlinジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 54/57。
チャレンジ
中級REPORTコマンドを追加してください。前のステップのコードはすでにLibrary.ktにあります。すべてのコマンドがこれまでどおり正確に動作するようにしてください。
REPORT:books: 3, borrowed: 1と返答し、その後、メンバーごとにアルファベット順で1行ずつ出力します。タイトルは借りた順序で並べ、ada: Dune, Emmaのようにします。借りている本がない場合はbo: noneとします。
提供されたコードは、各入力行をlibrary.handle(line)に渡し、返された各応答をそれぞれ別の行に出力します。メンバー名は小文字の単一の単語で、書籍IDは整数です。入力には、これまでに説明したコマンドのみが含まれます。それ以外のコマンドにはunknown commandと返答します。
コードはBook.kt、Member.kt、Library.ktに記述します。Main.ktには提供された入出力コードが含まれており、編集できません。
自分で試してみよう
fun main() {
// 提供された入出力コード: そのままにしておく
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
オブジェクト指向プログラミングのすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド