3 个不稳定版本
0.2.1 | 2023年11月11日 |
---|---|
0.2.0 | 2023年9月10日 |
0.1.0 | 2022年10月1日 |
在 命令行工具 中排名第 2949
每月下载量 39
在 4 个crate中使用(通过 yash-semantics)
165KB
4.5K SLoC
Yash-arith
yash-arith
是一个用于执行 POSIX shell 的算术展开的 Rust 库crate。此crate是yash的一部分,但也可以独立使用。
用法
在您的 Cargo.toml
中将 yash-arith
添加为依赖项。
use std::collections::HashMap;
use yash_arith::{eval, Value};
let mut env = HashMap::new();
env.insert("a".to_owned(), "2".to_owned());
let result = eval("1 + a", &mut env);
assert_eq!(result, Ok(Value::Integer(3)));
许可证
此crate根据GPLv3分发。
lib.rs
:
此crate实现了shell算术展开。
算术展开评估可能包含一些执行基本数学运算的运算符的表达式。表达式以字符串形式给出,并像C语言中的表达式一样解析。表达式可以包含与环境交互的变量。
要评估一个表达式,您可以使用字符串和环境调用 [eval()
] 函数。
use std::collections::HashMap;
use yash_arith::{eval, Value};
let mut env = HashMap::new();
env.insert("a".to_owned(), "2".to_owned());
let result = eval("1 + a", &mut env);
assert_eq!(result, Ok(Value::Integer(3)));
依赖项
~275–730KB
~17K SLoC