Fire-rs
受到 Python-fire 的启发,写了Rust版本。
利用过程宏,在编译期修改 AST
来达成。
几个重要的package:
- syn:用于解析AST
- quote:将元素转化为
TokenStream
Usage
use fire;
命令行输入 cargo run -- 2 4 cool
或 cargo run -- --a 2 --b 4 --c cool
输出 6 is cool
TODO
- 支持普通函数
- 支持命名参数
- 支持默认参数
- 支持泛型函数
- 支持成员函数
- 错误处理
- 测试
- 利用宏来简化代码