This repository was archived by the owner on Aug 18, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Expand file tree Collapse file tree 1 file changed +43
-0
lines changed Original file line number Diff line number Diff line change 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) ` 等嵌套命名空间调用的解析问题
You can’t perform that action at this time.
0 commit comments