カンマ区切りのフォーマットだがそんなのはどうでもいい。どういうパターンがあるか
フリーフォーマットなCSVを人間がどういう使い方をしているか。
- 配列を扱う
- 不変である
- 型がない
- オブジェクトの配列
- 識別できるIDがある
- フィールドごとに明確な型がある
- あるフィールド~あるフィールドまで配列のこともある
- 値の配列(行列)
- フィールドすべて同じ型である
- オブジェクトの配列
- 2次元配列
- オブジェクト表現の時に同じフィールドに違う型のデータが格納される場合(UNION)
- オブジェクト表現の時に空白がある場合(NULL)
- 行ごとにフィールド数が可変の場合
- コメントの扱い(行頭にシャープなど)
- 読み飛ばす行数(コメントをデータに定義すればいらないはず)
- オブジェクトの名前
- フィールドの名前、型などの属性情報
- 識別用フィールド名
- 配列数
- 型情報
- uint8
- uint16
- uint32
- uint64
- int8
- int16
- int32
- int64
- float
- double
- string
- enum
- array
- validation
##その他
- 実際には経験値テーブルなど行列に見えてもオブジェクト表現であることが多い
- 枠にハマるものハマらないもの分けて扱ったほうがよいし枠にハマらないものは違うフォーマットを検討するべき(XMLやJSONなど)
- 型情報は整数であれば桁情報からつくるべきであろうか
- 型情報は事前にバリデーション含めて宣言するべきであろうか(typedefのような)