自定义类型是值语义结构体(拷贝的是整份数据),写在 .yt 文件里,工程内任意 .yc 自动可用,无需导入。
它不是扩展句柄类(HTTP类 / 对象类 / JSON类 等)。句柄类用「类」后缀,走方法调用;自定义类型用字段 .x / .y。
硬规则速查
| 规则 | 说明 |
|---|---|
| 语义 | 值拷贝结构体,不是句柄类 |
| 可见性 | 工程内自动可用,无需导入 |
| 声明变量 | 类型名 变量名 或 类型名 变量名[] |
| 字段数组 | 类型体内写 元素类型 字段名[] |
| 禁止 | 类型名[] 变量名(错误) |
| 下标 | 从 1 起 |
{ } |
结构体初始化 |
[ ] |
数组字面量或下标 |
| 嵌套示例 | a.b.c、arr[1].b.c、obj.list[1].x、arr[1].list[2].x |
建议至少阅读:本总览 + 04-数组 + 09-多层嵌套与下标链。
最小闭环
源代码/几何.yt
点 {
整数 x,
整数 y
}
源代码/main.yc(推荐,不用 {})
函数 主窗口.创建完毕() {
点 points
points.x = 10
points.y = 10
输出(到文本(points.x))
}
点 p = {10, 20} 也能用,只是可选的一行初始化,不是必须。
括号约定(务必分清)
| 符号 | 用途 | 例子 |
|---|---|---|
{ } |
结构体字段初始化 | 点 p = {10, 20} |
[ ] |
数组字面量 / 下标 | 点 arr[] = [{1,2},{3,4}];arr[1].x |
( ) |
函数调用 / 运算 | 加(p1, p2) |
错误示范:点[] arr → 正确:点 arr[]。
推荐阅读顺序
- 定义与字段
- 初始化与赋值
- 嵌套
- 数组
- 函数
- 复杂场景 / 多文件 / 排错
- 多层嵌套与下标链(09) ←
表[1].成员[2].x