評価10: 構造体と列挙型
評価の目的
学習者がZigの複合型を正しく設計し使用できるかを評価します。
学習目標
- 構造体の定義とメソッドを理解する
- 列挙型とその応用を習得する
- タグ付き共用体の使い方を身につける
- メモリレイアウトを意識した設計ができる
- [ ] selfの型(値/ポインタ)が適切
- [ ] デフォルト値が意味を持つ
- [ ] enumの全ケースがswitchでカバー
- [ ] 共用体がタグ付きである(安全性)
- [ ] メモリアライメントを考慮している
- 必須要件で64点以上(80%)
- 型安全性が保たれていること
評価項目
必須要件 (80点)
| 項目 | 配点 | 基準 |
|---|---|---|
| 構造体定義 | 20点 | フィールドとメソッドが適切 |
| 列挙型定義 | 20点 | 値と関数が正しい |
| タグ付き共用体 | 20点 | switch での処理が正しい |
| メソッドのself | 20点 | *self と self の使い分け |
ボーナス要件 (20点)
| 項目 | 配点 | 基準 |
|---|---|---|
| packed struct | 10点 | バイナリデータ処理 |
| ジェネリック型 | 10点 | comptime T の使用 |