プロジェクトの概要
CoddyのSwiftジャーニー「ロジックとフロー」セクションの一部 — レッスン 49/56。
2番目のプロジェクトは、クイズエンジンです。状態は質問のリストであり、それぞれが(category, text, answer)のタプルになっています:
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]これからの4つのレッスンで、機能を1つずつ追加していきます:
- 質問を追加し、順番に出題する
- 回答を採点する(大文字小文字を区別せず、空白を削除)
- カテゴリでフィルタリングする
- カテゴリ別の内訳で実行結果を要約する
Habit Trackerと同様に、各レッスンは独立しているため、すべてのファイルの冒頭で問題バンクを再構築することになります。
チャレンジ
初心者まず最初に、データセットアップのコードを記述しましょう:
- 質問を格納する空の配列(
[(String, String, String)])を初期化します - そのカウント(要素数)をプリントします
- 配列が空であるかどうかをプリントします
期待される出力は以下の通りです:
0
trueチートシート
クイズエンジンは、質問を(category, text, answer)の形式のタプルのリストとして保存します:
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]便利な配列のプロパティ:
questions.count // 要素数
questions.isEmpty // 要素がない場合はtrue自分で試してみよう
// TODO: questions という名前の空の [(String, String, String)] を宣言し、
// その後 count と isEmpty を出力してください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。