学生を追加
CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 43/78。
チャレンジ
簡単生徒を記録に追加します。前の手順で書いた内容はすべて残してください。
1. 関数。 _ready()の下に、add_student(student_name: String, age: int, courses: Array) -> voidを書きます。
student_recordsにその名前がすでにある場合は、Student '<name>' already exists.を出力して戻ります。- そうでなければ、コースのセット(各コースをキー、その値を
trueとする辞書)を作り、生徒を名前をキーとして、3つのキーを持つ辞書に格納します。キーは"age"(年齢)、"grades"(空の配列)、"courses"(セット)です。その後、Student '<name>' added successfully.を出力します。
2. コマンド。コマンドadd Alice 20 Math Physicsには、名前、年齢、および任意の数のコースが含まれています。matchに、["show"]より上の分岐を追加します。
["add", var student, var age, ..]:
add_student(student, int(age), parts.slice(3))..を使うと、その後に続くコースにパターンが一致します。また、parts.slice(3)はそれらのコースの配列です。次のコマンドを実行すると、
add Alice 20 Math Physics
add Bob 22 Biology Chemistry
show
exit出力は次のようになります。
Student 'Alice' added successfully.
Student 'Bob' added successfully.
{ "Alice": { "age": 20, "grades": [], "courses": { "Math": true, "Physics": true } }, "Bob": { "age": 22, "grades": [], "courses": { "Biology": true, "Chemistry": true } } }
Goodbye!自分で試してみよう
extends Node
# 各学生: name -> {"age": int, "grades": Array, "courses": コース名の集合}
var student_records := {}
func _ready():
while true:
var parts := Array(OS.read_string_from_stdin().split(" ", false))
match parts:
["show"]:
print(student_records)
["exit"]:
print("Goodbye!")
break
ロジックとフローのすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ