5 个版本
0.2.3 | 2020 年 8 月 10 日 |
---|---|
0.2.2 | 2020 年 7 月 24 日 |
0.2.1 | 2020 年 5 月 2 日 |
0.2.0 | 2020 年 5 月 2 日 |
0.1.0 | 2020 年 5 月 1 日 |
#73 in #算术
14KB
254 行
calculatrs
终端上的 Python 风格计算器,用于简单的数学运算。它仅支持少数基本运算符;如果需要更多,请使用实际的 Python。如果您只需要进行简单的算术运算,则这应该没问题。
目前
-
所有整数都是 128 位有符号整数
-
所有浮点值都是 64 位 IEEE754。
-
混合表达式中整数会被强制转换为浮点数。
-
可以显式地将值转换为类型:
int(2.0)
或float(2)
。对于整数,这将截断值。 -
整数支持以下基本操作
+
、-
、*
、/
:基本算术。注意,对于整型操作数,我们使用整数除法。<<
、>>
:左移和右移b ** e
:将b
乘方e
。如果e
是浮点数,则b
也会被转换为浮点数。如果e
是整数,则e
会被转换为 32 位无符号整数。
-
浮点数支持以下基本操作
+
、-
、*
、/
:基本算术。注意,对于浮点型操作数,我们使用浮点除法。b ** e
:将b
乘方e
。e
可以是浮点数或整数,但如果它是整数,则会被截断为 32 位。
-
优先级旨在合理,尽管我没有彻底测试
+
,-
较低优先级 所有其他 较高优先级 -
所有运算符都是右结合的。
-
可以使用
( <expr> )
对表达式进行分组,正如预期的那样。 -
特殊值
_
表示上一个(输入)的结果,该结果存储在/tmp/calculatrs
中。它可以在期望值的地方使用。如果发生错误,则不会更改保存的值。 -
为了便于在终端直接使用,存在以下替代语法
*
==x
**
==^^
构建
您需要 稳定版本的 Rust。
cargo build
安装
您可以从 cargo 安装
cargo install calculatrs
安装的二进制文件名为 c
。
使用
假设您将二进制文件安装到您的路径中
> c 10 / 5
2
> c '10 / 5'
2
请注意,您的 shell 可能会将 *
扩展为 "列出所有文件"。
依赖项
~2.1–4MB
~69K SLoC