蔵書検索
CoddyのKotlinジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 53/57。
チャレンジ
簡単SEARCH コマンドを追加してください。前のステップのコードはすでに Library.kt にあります。これまでのすべてのコマンドが以前とまったく同じように動作し続けるようにしてください。
SEARCH <text>: text にはスペースを含めることができます。大文字と小文字を区別せず、タイトルに text を含む本ごとに1行ずつ、書籍 ID の順に応答してください:Dune (available)またはEmma (borrowed by ada)。一致する本がない場合はno matchesと応答してください。
提供されたコードは、各入力行を library.handle(line) に渡し、返された各応答をそれぞれ独自の行に出力します。メンバー名は小文字のみの1語で、書籍 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プレイグラウンド