v0.4.0
Ralqlator v0.4.0 Release Notes
Release Date: 2026-03-30
Git Tag: v0.4.0
Commit: d9741f5
🎉 核心亮点
v0.4.0 引入了 用户定义持久化存储 功能 - 您自定义的函数、数列和常量现在会自动保存并在会话间加载!
✨ 新功能
用户定义持久化存储
所有用户定义的元素会自动持久化到 ~/.ralqlator(隐藏 TOML 文件):
-
自动保存 当您:
- 创建定义(通过
create命令或-c参数) - 删除定义(通过
destroy命令或-d参数) - 退出 REPL(
quit命令)
- 创建定义(通过
-
自动加载 当您:
- 启动 REPL
- 从命令行运行计算
新增 CLI 参数
| 参数 | 说明 | 示例 |
|---|---|---|
-c, --create <DEF> |
创建函数/数列/常量 | ralqlator -c "func f(x) = x * 2" |
-d, --destroy <NAME> |
删除用户定义 | ralqlator -d f |
-L, --list |
列出所有用户定义 | ralqlator -L |
新增 REPL 命令
| 命令 | 说明 | 示例 |
|---|---|---|
destroy <name> |
删除用户定义 | > destroy f |
存储文件格式 (TOML)
[functions.square]
params = ["x"]
expr = "x * x"
[functions.triangle]
params = ["n"]
expr = "n * (n + 1) / 2"
[constants]
G = 9.81
SPEED_OF_LIGHT = 299792458.0📦 新增模块
storage.rs
新的 TOML 持久化模块:
save_user_data()- 保存定义到~/.ralqlatorload_user_data()- 从~/.ralqlator加载delete_user_definition()- 删除并自动保存get_storage_path()- 获取存储文件路径
🧪 测试
新测试文件:09_storage_tests.rs
19 个全面的测试用例 覆盖:
- 创建操作(函数、数列、常量)
- 列表操作(空、单个、多个)
- 删除操作(函数、常量、不存在、大小写敏感)
- 自动保存功能
- 自动加载功能
- 完整工作流集成
- 跨会话持久化
- 存储文件格式验证
- 边界情况
测试统计
| 类别 | 数量 |
|---|---|
| 总测试数 | 450+ |
| 测试文件 | 10 |
| 新增测试 (v0.4.0) | 19 |
| 测试覆盖 | 所有核心功能 |
📋 使用示例
命令行
# 创建函数
ralqlator -c "func double(x) = x * 2"
# 创建数列
ralqlator -c "seq triangle(n) = n * (n + 1) / 2"
# 创建常量
ralqlator -c "const G 9.81"
# 列出所有定义
ralqlator -L
# 立即使用
ralqlator "double(21)" # 输出:42
ralqlator "triangle(10)" # 输出:55
ralqlator "G * 10" # 输出:98.1
# 删除定义
ralqlator -d double
# 验证删除
ralqlator -LREPL
$ ralqlator
Type 'q' or 'quit' to exit...
> create func f(x) = x + 100
Function 'f' defined
> f(5)
105
> destroy f
Deleted 'f' and saved
> quit
# 自动保存所有定义🔧 技术变更
依赖项
| 库 | 版本 | 用途 |
|---|---|---|
serde |
1.0 | 序列化框架 |
toml |
0.8 | TOML 格式支持 |
修改文件
| 文件 | 变更 |
|---|---|
Cargo.toml |
添加 serde, toml 依赖 |
Cargo.lock |
更新依赖 |
src/storage.rs |
新增 - 持久化模块 |
src/main.rs |
CLI 参数处理 |
src/cli.rs |
新增 CLI 参数 |
src/repl.rs |
自动保存/加载,destroy 命令 |
src/lib.rs |
导出 storage 模块 |
tests/09_storage_tests.rs |
新增 - 存储测试 |
📚 文档更新
- README.md: 添加持久化文档、示例、CLI 参数
- README_zh.md: 中文文档更新
- agent.md: 开发者文档,包含新模块信息
- PKGBUILD: 更新为 v0.4.0,添加 aarch64 支持
🚀 迁移指南
从 v0.3.x 升级到 v0.4.0
无破坏性变更! 您现有的用户定义将继续工作。
可选:将旧定义迁移到新的持久化系统:
- 使用旧会话启动 REPL
- 重新创建重要的函数/常量
- 它们会自动保存到
~/.ralqlator
🐛 Bug 修复
本次发布无 Bug 修复。
⚠️ 破坏性变更
无。完全保持向后兼容。
🔗 链接
- GitHub Release: https://github.com/sin1111yi/ralqlator/releases/tag/v0.4.0
- 文档: https://github.com/sin1111yi/ralqlator/blob/main/README.md
- 中文文档: https://github.com/sin1111yi/ralqlator/blob/main/README_zh.md
- 开发者文档: https://github.com/sin1111yi/ralqlator/blob/main/agent.md
Copyright (C) 2026 Ralqlator Contributors
License: GPLv3