📦 deps(tsl): sync tsl-playbook from a71480a4

Source-Commit: a71480a4ae
This commit is contained in:
ci[bot]
2026-08-12 08:38:08 +08:00
parent 683f83d17c
commit 670ba950a6
1496 changed files with 292667 additions and 220122 deletions
@@ -4,14 +4,20 @@
## 本篇职责
<!-- section-id: syntax-06-001 -->
回答“赋值、算术、比较、逻辑、位运算、集合/类型关系、条件求值、表达式对象、访问/调用、点前缀运算符和专题运算符入口在 TSL 里怎样写”。
## 核心规则
<!-- section-id: syntax-06-002 -->
- 本页是 TSL 表达式与运算符的生成规则页;写代码时只使用本页或对应专题页明确记录的运算符和表达式形态。
### 本页直接生成的运算符
<!-- section-id: syntax-06-003 -->
<!-- tags: 运算符一览, 位运算, 逻辑运算, 算术运算, 比较运算, 移位, 按位与或 -->
<!-- prettier-ignore-start -->
@@ -46,6 +52,8 @@
### 专题运算符入口
<!-- section-id: syntax-06-004 -->
<!-- tags: 运算符去哪查, 特殊符号归属 -->
| 运算符 / 形态 | 责任页 | 生成规则 |
@@ -66,8 +74,10 @@
默认生成规则:
- 普通变量赋值使用 `:=`;常量初始化不按普通赋值判断,见 [04_variables_and_constants.md](04_variables_and_constants.md)。
- `=` 在普通表达式里用于比较,不用于赋值。
<!-- quickstart-rule: assignment -->
- 普通变量赋值使用 `:=``=` 在普通表达式里用于比较,不用于赋值。
- 常量初始化不按普通赋值判断,见 [04_variables_and_constants.md](04_variables_and_constants.md)。
- `const name = value;` 和函数签名默认参数 `name = value` 不按本页普通表达式比较判断。
- 普通算术使用 `+`、`-`、`*`、`/`、`\`、`%``div``mod``^``~`
- 需要数值倒数时用 `!x`;整型和实型输入都会得到实型结果。
@@ -100,6 +110,8 @@
## 可直接照写示例
<!-- section-id: syntax-06-005 -->
使用这些示例时遵守:
- `:=` 是普通变量赋值写法;常量初始化规则见 [04_variables_and_constants.md](04_variables_and_constants.md)。
@@ -110,6 +122,8 @@
### 基础赋值和条件求值
<!-- section-id: syntax-06-006 -->
<!-- tags: 三目运算, 问号冒号, 条件表达式, 一行判断取值 -->
代码块身份:可直接照写示例
@@ -554,6 +568,8 @@ writeLn(if 2 > 1 then 2 else 1);
### 表达式对象
<!-- section-id: syntax-06-007 -->
<!-- tags: 延迟求值, 表达式当值传, eval, 把式子存起来 -->
`@` 表达式前导:
@@ -634,6 +650,8 @@ writeLn(result_value);
### 空安全访问
<!-- section-id: syntax-06-008 -->
<!-- tags: 对象可能为空, 判空取属性, nil 安全, 避免空指针 -->
代码块身份:可直接照写示例
@@ -679,6 +697,8 @@ writeLn(c?.a?.[1] = nil);
### 否定形式运算
<!-- section-id: syntax-06-009 -->
<!-- tags: 取反, 不包含, 不匹配, not in 怎么写 -->
代码块身份:可直接照写示例
@@ -707,6 +727,8 @@ end;
### 标量链式比较
<!-- section-id: syntax-06-010 -->
<!-- tags: 连续比较, 区间判断, 夹在中间, 大小连写 -->
代码块身份:可直接照写示例
@@ -733,6 +755,8 @@ writeLn(1 :<> 2 :<> 3);
### 矩阵链式比较
<!-- section-id: syntax-06-011 -->
<!-- tags: 数组逐元素比较, 整列比较, 批量比较 -->
代码块身份:可直接照写示例
@@ -763,6 +787,8 @@ writeLn(s[2]);
### 条件编译探测
<!-- section-id: syntax-06-012 -->
<!-- tags: 判断支持哪些特性, 版本探测, ifdef 怎么用 -->
代码块身份:可直接照写示例
@@ -791,6 +817,8 @@ writeLn(0);
## 默认生成模板
<!-- section-id: syntax-06-013 -->
如果你只需要最小的“比较 + 三目”例子,直接用这个:
代码块身份:可直接照写示例
@@ -809,6 +837,8 @@ writeLn(value);
## 禁止项
<!-- section-id: syntax-06-014 -->
-`=` 当赋值运算符。
-`==` / `!=` 当成等值 / 不等值比较;本页比较使用 `=` / `<>`
-`!` 当成逻辑非;本页逻辑非使用 `not``!` 是一元倒数/矩阵逆相关运算符。