24 lines
1.1 KiB
Markdown
24 lines
1.1 KiB
Markdown
# 文本选择器规则
|
|
|
|
## 简介
|
|
|
|
1. 为实现基于模板文件生成代码的功能, 需要实现一套模板文件解析规则;
|
|
2. 代码生成过程中, 解析数据表格获得代码数据, 解析模板文本获得代码实现的样式, 通过将代码样式中需要的信息填入代码数据, 完成代码生成;
|
|
3. 模板文本包含以下内容:
|
|
1. 一般文本: 在代码生成中保持原样;
|
|
2. 生成内容: 通过解析内部字符串, 对数据进行替换;
|
|
1. 单行生成内容; `{{}}`
|
|
2. 多行生成内容; `<<>>`
|
|
1. 包含一段代码, 通过`ast`模块解析实现更复杂的代码生成;
|
|
|
|
## 解析规则
|
|
|
|
|
|
- 数据选择器: `variable[.member][:index][#function]`
|
|
1. 变量指定(`variable`): 确定需要替换的变量信息
|
|
2. 成员选择(`.member`): 取得数据的成员信息
|
|
3. 索引选择(`:index`): 序列数据的内容指定;
|
|
4. 键选择(`@key`): 字典数据的内容指定;
|
|
3. 函数后处理(`#function`): 依次解析函数名, 通过pandas或自定义函数实现生成文本的后处理;
|
|
|