Type段
示例:
- type # 演示相互递归类型的示例
- Node = ref object # 垃圾收集器管理的对象(ref)
- le, ri: Node # 左右子树
- sym: ref Sym # 叶节点含有Sym的引用
- Sym = object # 一个符号
- name: string # 符号名
- line: int # 声明符号的行
- code: Node # 符号的抽象语法树
类型部分以 type 关键字开头。 它包含多个类型定义。 类型定义将类型绑定到名称。 类型定义可以是递归的,甚至可以是相互递归的。 相互递归类型只能在单个 type 部分中使用。 像 objects 或 enums 这样的标称类型只能在 type 部分中定义。