Skip to content
This repository was archived by the owner on Aug 18, 2025. It is now read-only.

Commit 5882e76

Browse files
committed
更新CHANGELOG.md,记录v0.4.5版本的重大新功能:字符串插值,包括模板字符串语法、丰富的插值表达式支持及技术实现细节,确保向后兼容性并提供详细文档链接。
1 parent 5604e6e commit 5882e76

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,48 @@
11
# CodeNothing 更新日志
22

3+
## [v0.4.5] - 2025-07-26
4+
### 🚀 重大新功能:字符串插值
5+
- **模板字符串语法**: 添加使用反引号定义的模板字符串
6+
- 表达式嵌入:使用`${...}`语法在字符串中嵌入表达式
7+
- 多行字符串:支持换行,保留格式
8+
- 无需复杂的字符串连接
9+
- **丰富的插值表达式支持**:
10+
- 变量插值:`${name}`
11+
- 表达式插值:`${a + b}`
12+
- 函数调用插值:`${getTime()}`
13+
- 嵌套插值:`${`内部${value}`}`
14+
- 三元运算符插值:`${condition ? "真" : "假"}`
15+
16+
### 🔧 技术实现
17+
- **AST扩展**: 新增 `StringInterpolation` 表达式类型和 `StringInterpolationSegment` 枚举
18+
- **词法分析器增强**: 识别反引号字符串和 `${...}` 表达式
19+
- **解析器增强**: 支持解析字符串插值表达式和嵌套表达式
20+
- **执行器增强**: 支持连接文本片段和计算表达式值
21+
22+
### 📝 语法示例
23+
```cn
24+
// 简单变量插值
25+
name : string = "世界";
26+
greeting : string = `你好,${name}!`; // 结果: "你好,世界!"
27+
28+
// 表达式插值
29+
a : int = 5;
30+
b : int = 3;
31+
result : string = `${a} + ${b} = ${a + b}`; // 结果: "5 + 3 = 8"
32+
33+
// 多行插值
34+
multiline : string = `多行字符串
35+
第一行:${a}
36+
第二行:${b}`;
37+
```
38+
39+
### 🔄 兼容性
40+
- **完全向后兼容**: 不影响现有的双引号字符串功能
41+
- **字符串连接**: 传统字符串连接(`+`)操作符仍然有效
42+
43+
### 📚 详细文档
44+
- 完整的字符串插值功能文档: [STRING_INTERPOLATION_CHANGELOG_v0.4.5.md](file-doc/STRING_INTERPOLATION_CHANGELOG_v0.4.5.md)
45+
346
## [v0.4.4] - 2025-07-25
447
### 🐛 重要修复:嵌套命名空间解析
548
- **修复嵌套命名空间语法解析错误**: 解决了 `parent::child::add(30, 40)` 等嵌套命名空间调用的解析问题

0 commit comments

Comments
 (0)