蔵書検索
CoddyのSwiftジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 53/57。
チャレンジ
簡単SEARCH コマンドを追加してください。前の手順までのすべてのコマンドが、これまでどおり正確に動作するようにしてください。
SEARCH <text>: text にはスペースを含めることができます。大文字と小文字を区別せず、タイトルに text を含む各書籍について、書籍 ID の順に 1 行ずつ返してください。返答はDune (available)またはEmma (borrowed by ada)の形式です。一致するものがない場合はno matchesを返してください。
提供されたコードは、すべての入力行を 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プレイグラウンド