一个包含多个 Rust 项目的学习和实践仓库,展示了不同的编程概念和实用应用。
本仓库包含以下三个主要项目:
描述:一个表达式解析和计算引擎,实现了完整的数学表达式解析和求值功能。
主要特性:
- ✅ 支持基本算术运算(
+,-,*,/,^) - ✅ 支持括号和表达式嵌套
- ✅ 实现了 Shunting Yard 算法的优先级处理
- ✅ 完整的词法分析和语法分析
- ✅ 包含单元测试
技术栈:
- Rust 2021 Edition
- 标准库
编译和运行:
cd expression_parsing_calculation
cargo run --bin expression_parsing_algorithm示例:
let src = "92 + 5 + 5 * 27 - (92 - 12) / 4 + 26";
// 输出结果描述:一个量化交易系统,使用技术指标和 API 数据进行股票行情分析和交易信号生成。
主要特性:
- ✅ 接入 Alpha Vantage API 获取实时股票数据
- ✅ 计算技术指标:指数移动平均线(EMA)和相对强弱指数(RSI)
- ✅ 基于多重指标的交易信号生成
- ✅ 支持异步 HTTP 请求
技术栈:
- Rust 2021 Edition
tokio- 异步运行时reqwest- HTTP 客户端serde/serde_json- JSON 序列化ta- 技术分析库
依赖:
reqwest = { version = "0.12.12", features = ["json"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["full"] }
ta = "0.5.0"编译和运行:
cd quantitative_trading
cargo run --bin quantitative_trading_v2配置说明:
- 需要配置有效的 Alpha Vantage API 密钥
- 默认股票代码为
600016(中国银行)
描述:一个 RSS 订阅源自动摘要提取系统,使用 AI(OpenAI GPT)对 RSS 内容进行智能摘要和分析。
主要特性:
- ✅ 异步获取 RSS 订阅源内容
- ✅ 利用 GPT-4o-mini 模型进行内容摘要
- ✅ HTML 标签和 CDATA 清理
- ✅ 相关性评分
- ✅ 定时更新机制(每小时)
- ✅ 结构化输出
技术栈:
- Rust 2021 Edition
rig-core- LLM 交互框架tokio- 异步运行时reqwest- HTTP 客户端rss- RSS 解析regex- 正则表达式chrono- 日期时间处理serde/schemars- 数据序列化和 JSON Schema
依赖:
rig-core = "0.7.0"
serde = { version = "1.0", features = ["derive"] }
schemars = "0.8"
tokio = { version = "1.34", features = ["full"] }
chrono = { version = "0.4", features = ["serde"] }
reqwest = { version = "0.12.12", features = ["json"] }
rss = "2.0"
regex = "1"编译和运行:
cd rig_rss
cargo run配置说明:
- 需要设置 OpenAI API 密钥环境变量
- 默认 RSS 源为 Hacker News(
https://news.ycombinator.com/rss) - 每小时自动更新一次
- Rust 1.70+ (推荐使用 rustup 安装)
- Cargo 包管理器
如果还未安装 Rust,可以通过以下命令安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh# 在项目根目录执行
cargo build --all# 运行表达式计算
cargo run -p expression_parsing_calculation --bin expression_parsing_algorithm
# 运行量化交易
cargo run -p quantitative_trading --bin quantitative_trading_v2
# 运行 RSS 摘要
cargo run -p rig_rsscargo test --all| 项目 | 用途 | 主要语言特性 |
|---|---|---|
| Expression Parsing | 数学表达式解析 | 迭代器、枚举、模式匹配 |
| Quantitative Trading | 股票数据分析 | 异步编程、宏、序列化 |
| RIG RSS | AI 内容摘要 | 异步编程、HTTP、正则表达式 |
这个项目集合演示了以下 Rust 概念:
-
基础概念
- 所有权和生命周期
- 错误处理(Result、Option)
- 模式匹配和枚举
-
进阶特性
- 异步编程(async/await)
- 迭代器和闭包
- 宏和元编程
- 特征(Trait)实现
-
实用库
- HTTP 网络编程
- JSON 序列化/反序列化
- 外部 API 集成
- 正则表达式处理
本项目采用 MIT 许可证。详见 LICENSE 文件。
欢迎提交 Issue 和 Pull Request!
GitHub: @thefu
- 初始发布
- 包含三个核心项目
- 基础文档和示例