8 个不稳定版本 (3 个破坏性更新)
0.4.2 | 2023年6月4日 |
---|---|
0.4.1 | 2023年5月31日 |
0.3.0 | 2023年1月25日 |
0.2.0 | 2023年1月25日 |
0.1.2 | 2023年1月25日 |
#1210 in 命令行实用工具
每月 50 次下载
18KB
68 行
fEval
快速评估器
简单的命令行工具,可帮助您快速评估表达式。基于 evalexpr 包。
安装
cargo install feval
运算符
支持的二进制运算符
运算符 | 优先级 | 描述 |
---|---|---|
^ | 120 | 指数 |
* | 100 | 乘积 |
/ | 100 | 除法(如果两个参数都是整数,则为整数,否则为浮点数) |
% | 100 | 取模(如果两个参数都是整数,则为整数,否则为浮点数) |
+ | 95 | 求和或字符串连接 |
- | 95 | 差值 |
< | 80 | 小于 |
> | 80 | 大于 |
<= | 80 | 小于或等于 |
>= | 80 | 大于或等于 |
== | 80 | 等于 |
!= | 80 | 不等于 |
&& | 75 | 逻辑与 |
|| | 70 | 逻辑或 |
= | 50 | 赋值 |
+= | 50 | 求和-赋值或字符串-连接-赋值 |
-= | 50 | 差值-赋值 |
*= | 50 | 乘值-赋值 |
/= | 50 | 除值-赋值 |
%= | 50 | 取模-赋值 |
^= | 50 | 指数-赋值 |
&&= | 50 | 逻辑与-赋值 |
||= | 50 | 逻辑或-赋值 |
, | 40 | 聚合 |
; | 0 | 表达式链 |
支持的单一运算符
运算符 | 优先级 | 描述 |
---|---|---|
- | 110 | 否定 |
! | 110 | 逻辑非 |
函数
标识符 | 参数数量 | 参数类型 | 描述 |
---|---|---|---|
min |
>= 1 | 数字 | 返回参数的最小值 |
max |
>= 1 | 数字 | 返回参数的最大值 |
len |
1 | 字符串/元组 | 返回字符串的字符长度,或元组中的元素数量(不递归) |
floor |
1 | 数字 | 返回小于或等于数字的最大整数 |
round |
1 | 数字 | 返回最接近的整数。四舍五入到0.0的情况 |
ceil |
1 | 数字 | 返回大于或等于数字的最小整数 |
if |
3 | 布尔型、任意、任意 | 如果第一个参数为真,则返回第二个参数,否则返回第三个参数 |
typeof |
1 | 任意 | 返回 "string"、"float"、"int"、"boolean"、"tuple" 或 "empty",具体取决于参数的类型 |
math::is_nan |
1 | 数字 | 如果参数是浮点值 NaN,则返回 true,如果它不是另一个浮点值,则返回 false,如果不是数字,则抛出错误 |
math::is_finite |
1 | 数字 | 如果参数是一个有限浮点数,则返回true,否则返回false |
math::is_infinite |
1 | 数字 | 如果参数是一个无穷大的浮点数,则返回true,否则返回false |
math::is_normal |
1 | 数字 | 如果参数是一个既不是零、无穷大、亚正常数或NaN的浮点数,则返回true,否则返回false |
math::ln |
1 | 数字 | 返回数字的自然对数 |
math::log |
2 | 数值,数值 | 返回以任意底数为底的对数 |
math::log2 |
1 | 数字 | 返回数字的2为底的对数 |
math::log10 |
1 | 数字 | 返回数字的10为底的对数 |
math::exp |
1 | 数字 | 返回e^(number) ,(指数函数) |
math::exp2 |
1 | 数字 | 返回2^(number) |
math::pow |
2 | 数值,数值 | 将一个数提升到另一个数的幂 |
math::cos |
1 | 数字 | 计算一个数的余弦值(以弧度为单位) |
math::acos |
1 | 数字 | 计算一个数的反余弦值。返回值在[0, π]范围内,或如果数字在[-1, 1]范围外,则返回NaN |
math::cosh |
1 | 数字 | 双曲余弦函数 |
math::acosh |
1 | 数字 | 双曲余弦的逆函数 |
math::sin |
1 | 数字 | 计算一个数的正弦值(以弧度为单位) |
math::asin |
1 | 数字 | 计算一个数的反正弦值。返回值在[-π/2, π/2]范围内,或如果数字在[-1, 1]范围外,则返回NaN |
math::sinh |
1 | 数字 | 双曲正弦函数 |
math::asinh |
1 | 数字 | 双曲正弦的逆函数 |
math::tan |
1 | 数字 | 计算一个数的正切值(以弧度为单位) |
math::atan |
1 | 数字 | 计算一个数的反正切值。返回值在[-π/2, π/2]范围内 |
math::atan2 |
2 | 数值,数值 | 计算四象限反正切值,以弧度为单位 |
math::tanh |
1 | 数字 | 双曲正切函数 |
math::atanh |
1 | 数字 | 双曲正切的逆函数。 |
math::sqrt |
1 | 数字 | 返回一个数的平方根。对于负数返回NaN |
math::cbrt |
1 | 数字 | 返回一个数的立方根 |
math::hypot |
2 | 数字 | 根据两个参数给出的长度计算直角三角形的斜边长度 |
str::to_lowercase |
1 | 字符串 | 返回字符串的小写版本 |
str::to_uppercase |
1 | 字符串 | 返回字符串的大写版本 |
str::trim |
1 | 字符串 | 从字符串的开始和结尾去除空白字符 |
str::from |
>= 0 | 任意 | 将传递的值作为字符串返回 |
bitand |
2 | 整数 | 计算给定整数的位与 |
bitor |
2 | 整数 | 计算给定整数的位或 |
bitxor |
2 | 整数 | 计算给定整数的位异或 |
bitnot |
1 | 整数 | 计算给定整数的位非 |
shl |
2 | 整数 | 计算给定整数左移其他给定整数的位数 |
shr |
2 | 整数 | 计算给定整数右移其他给定整数的位数 |
exit |
0 | None | 退出 |
常量
标识符 | 值 | 描述 |
---|---|---|
math::pi |
3.141592653589793 (std::f64::consts::PI ) |
Pi |
math::e |
2.718281828459045 (std::f64::consts::E ) |
Euler's number |
许可证
本项目主要在MIT许可证的条款下分发。
依赖项
~5.5MB
~124K SLoC