数据类型
Aria 的 7 种基本数据类型详解
Aria 有 7 种基本类型,每种都很直观。你可以用 type.typeof() 随时查看一个值是什么类型。
| 类型 | 示例 | 说明 |
|---|---|---|
| number | 42, 3.14 | 数字,整数和小数都是它 |
| string | 'hello', "world" | 文本 |
| boolean | true, false | 对或错,只有两个值 |
| none | none | "没有值",表示空 |
| list | [1, 2, 3] | 有序的值的集合,像购物清单 |
| map | {'name': 'Alice'} | 键值对,像一本字典 |
| function | -> { return 1 } | 一段可以反复执行的代码 |
number — 数字
数字就是数字,不区分整数和小数,写法和数学里一样:
也支持一些特殊写法(不常用,了解即可):
数字的方法
string — 字符串
字符串就是一段文本。Aria 有三种写法:
字符串插值
双引号字符串里可以用 {表达式} 嵌入变量或计算结果,单引号不行。
插值中的裸名按当前作用域解析(var.x 需写全前缀:"值是 {var.x}"):
常用方法
转义字符
字符串字面量保留引号内的原文——反斜杠序列不会被展开:
'a\nb' 就是 4 个字符 a \ n b,Windows 路径、正则表达式可直接书写。
反斜杠 + 后随字符仅用于"不结束字符串"的判定:'a\'b' 中的 \' 不会终止字符串,
值为 a\'b(原文保留)。需要真实换行时请使用三引号文本块 """..."""。
boolean — 布尔值
布尔值只有两个:true(真)和 false(假),用来做判断:
布尔值与数字相加时 true 当作 1、false 当作 0(true + 1 → 2.0)。
但布尔与布尔、布尔与字符串相加走字符串拼接(true + true → 'truetrue'),
布尔的减法也有历史怪癖(true - 1 → 2.0)——这些为兼容 Shimmer 历史行为而保留,
详见运算符的特殊运算规则。
none — 空值
none 表示"没有值"。当一个变量还没有被赋值,或者函数没有返回任何东西时,它的值就是 none:
安全访问
当你不确定一个值是不是 none 时,可以用 ?. 和 ?? 来安全地访问:
list — 列表
列表是一组有序的值,用方括号 [] 创建。可以放任何类型的值:
基本操作
用 + 和 - 操作列表
下标访问 []
列表支持用 [] 按索引读写元素:
高阶函数
这些方法接受一个函数作为参数,对列表中的每个元素执行操作:
map — 字典
字典用来存储"键-值"对,就像一本真正的字典:用一个词(键)查找它的解释(值)。用花括号 {} 创建:
基本操作
用 + 和 - 操作字典
下标访问 []
字典支持用 [] 按键读写值:
高阶函数
function — 函数
函数是一段可以反复执行的代码。在 Aria 中,所有函数都用 -> {} 来定义,参数通过 args 获取:
函数可以像普通值一样传递(这叫"一等公民"):
函数的更多用法(闭包、递归、高阶函数等)在 函数 章节详细介绍。
