跳到主要内容

类型系统

基础类型

  • str: 单字符
  • string: 字符串
  • int: 整数
  • bool: 布尔
  • singlef: 单精度浮点
  • multif: 多精度浮点
  • arr: 数组
  • obj: 对象(不透明;禁止用于变量显式声明与赋值目标)
  • class: 类(禁止用于变量显式声明与赋值目标)
  • unknown: 未知(推断/未指定)
  • void: 无返回

约束:显式声明 obj/class 变量将报错;作为目标类型也不可赋值。

可赋性规则(摘要)

  • SAME: 相同类型可赋值
  • number 系:int ↦ int;singlef/multif 接受 number 系(int/singlef/multif)
  • string 系:str 与 string 互通
  • bool: 仅接受 bool
  • unknown: 接受任意源类型(占位)
  • void: 仅可与 void 对应
  • 目标若为 obj/class:不允许赋值(语义层限制)

字面量与推断

  • 字符串字面量 → string
  • 数字字面量 → int 或 singlef(根据表达式运算上下文合并,混合时趋向 number)
  • 布尔字面量 → bool