AGENT SKILL
32-variable-variant
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-04-12
- Stars
- ★ 0
- Forks
- 0
02 资源文件 2
- 参考文档SOURCE.md183 B
- 参考文档TRUST.auto.yaml2.2 KB
03 SKILL.md 正文
Devian v10 — Variable: Variant
Status: ACTIVE AppliesTo: v10 SSOT: skills/devian/10-module/03-ssot/SKILL.md
Purpose
Variant는 Int/Float/String 중 하나의 값을 담는 Tagged Union 타입이다. Excel 입력과 NDJSON 저장 형식을 정의한다.
Excel 입력 형식 (정본)
접두사 필수, 추론 금지.
| 입력 | 의미 |
|---|---|
i:123 |
정수 123 |
f:3.14 |
실수 3.14 |
s:가나다 |
문자열 "가나다" |
규칙
- 접두사
i:,f:,s:중 하나 필수 - 접두사 없이 입력하면 에러 (추론 금지)
- 빈 셀은
null
타입 검증
i:뒤에는 정수만 허용 (소수점 불가)f:뒤에는 숫자(정수/실수) 허용s:뒤에는 임의 문자열 허용 (빈 문자열s:허용)
NDJSON 저장 형식 (정본)
키 하나만 있는 오브젝트.
| 타입 | JSON |
|---|---|
| Int | {"i": 123} |
| Float | {"f": 3.14} |
| String | {"s": "가나다"} |
규칙
- 키는 정확히 하나만 있어야 한다 (
i,f,s중 하나) - 다른 키가 섞이면 실패
i값은 정수만 허용f값은 number 허용s값은 string만 허용
예시
{"i": 42}
{"f": 3.14159}
{"s": "Hello World"}
{"s": ""}
금지 형식
{"i": 1, "f": 2} // 키 2개 - 실패
{"k": "i", "i": 123} // k 키 불필요 - 실패
{"i": 3.14} // i에 실수 - 실패
{"f": "abc"} // f에 문자열 - 실패
라운드트립 보장
| Excel 입력 | NDJSON | 복원 값 |
|---|---|---|
i:123 |
{"i":123} |
123 (int) |
f:3.14 |
{"f":3.14} |
3.14 (float) |
s:가나다 |
{"s":"가나다"} |
"가나다" (string) |
Serialize → Deserialize 후 값이 동일해야 한다.
Directory Structure
C# (module — canonical):
framework-cs/module/Devian/src/Variable/Variant.cs
C# (UPM — com.devian.foundation / Devian.Core):
framework-cs/upm/com.devian.foundation/Runtime/Module/Variable/Variant.csframework-cs/apps/UnityExample/Packages/com.devian.foundation/Runtime/Module/Variable/Variant.cs
TypeScript:
framework-ts/module/devian/src/variant.ts(타입)framework-ts/tools/builder/generators/table.js(파서)
금지 행동
- 접두사 없이 값 추론 금지
- Complex 형식(save1/save2) 저장 금지 (실제 값 저장)
- k 키 사용 금지 (단순 형식)
- 키 2개 이상 허용 금지
Reference
- SSOT: 이 파일 (
skills/devian/10-module/20-core/32-variable-variant/SKILL.md)