9 个版本
0.2.6 | 2022年11月14日 |
---|---|
0.2.5 |
|
0.2.4 | 2022年8月29日 |
0.2.3 | 2022年2月8日 |
0.1.2 | 2021年5月21日 |
158 在 数学
34 每月下载量
1MB
1.5K SLoC
Cork
Cork 是一个简单的命令行计算器,主要针对处理十六进制数字的人。它只处理 整数 运算。表达式可以涉及混合基数(限于 十进制、十六进制、八进制 和 二进制 数字)。全局输出格式可以设置为特定的进制 - 默认为十六进制。
历史
Cork 是我在周末写的,当时我对我计算器上输入 16 位十六进制数字感到烦恼。我想要在屏幕上看到它,自然是在终端上。但我在网上找到的所有计算器程序(包括 Python 和 Octave 的 REPL)都有一个明显的问题 - 它们可以处理十六进制数字,但输出总是 十进制。所以我点击了 cargo new
...
命名
Cork 是一个相当奇怪的计算器名称。我想起名为 内核计算器,但这太长了。所以 内核 变成了 核心(在技术上,这就是它在英语中的含义)和计算器,嗯,可以是 C。所以我们有 CoreC ... maybe CorC ... 哦,对了,Cork。
安装
预编译的二进制文件
对于 Linux,您可以从这里下载预编译的二进制文件 这里。
对于 Windows,您可以从这里下载便携式可执行文件 这里。
从源代码构建
如果您已安装 cargo
,则可以从源代码构建此软件
git clone https://github.com/RedDocMD/cork
cd cork
cargo build --release
生成的二进制文件将是 target/release/cork
。
从 crates.io 构建
要从 crates.io 安装,请运行 cargo install cork
。然后,应该可以使用 cork
命令来执行 Cork。
使用方法
Cork 通常是一个交互式计算器,因此您可以输入表达式,它会显示答案。一个示例运行如下:
Welcome to cork - a calculator for hex-lovers!
Press Ctrl + D to exit.
cork> 0xCAFE
0xcafe
cork> 0xCAFE + 2 * 8 * 0x20
0xccfe
cork> set of dec
cork> ans
52478
cork> 0xCAFE
51966
Exiting ...
哦,顺便说一句,Cork 使用 rustyline。因此,您将获得完整的 readline
功能(包括历史记录)。
Cork 还具有内联表达式评估模式(可能对脚本很有用)。
此外,Cork 可以在文件上运行(脚本模式),将文件作为脚本执行。
数字
Cork 接受四种类型的数字
- 十进制:这些是常规数字(10, 23245, 4124 等)。
- 十六进制:这些数字以
0x
开头(0xaA 0x5acd, 0x101c 等)。 - 八进制:这些数字以
0o
开头(0o12, 0o55315, 0o10034 等)。 - 二进制:这些数字以
0b
开头(0b1010, 0b101101011001101, 0b1000000011100 等)。
此外,ans
保存了上次计算的结果。启动时将其初始化为 0
。
下划线 (_) 可以作为分隔符。
设置指令
Cork 有一种叫做设置指令的东西,它基本上设置一些全局属性。它们的形式为
set <key> <value>
目前,Cork 有以下键
键 | 可能的值 | 目的 |
---|---|---|
of | hex, dec, oct, bin | 设置输出格式 |
临时格式转换
一个 number
、ans
或表达式的结果可以被临时转换为不同的输出格式,而不会改变默认格式。'to' 命令可以有以下形式
<number> to <radix>
ans to <radix>
<expression> to <radix>
支持的输出格式有
可能的格式 |
---|
hex, dec, oct, bin |
示例
cork> 0xCAFE to dec
51966
cork> 0xCAFE + 2 * 8 * 0x20 to bin
0b1100110011111110
cork> ans to hex
0xccfe
cork>
内联评估
带有 -e/--expr
标志,Cork 接受要评估的表达式。表达式不能是设置指令。表达式将被评估,并在默认输出基数下打印答案。带有 -/--all-bases
标志的打印结果将打印在所有四个基数下。
脚本评估
带有 -/--file
标志,Cork 接受文件路径。该文件将从顶部到底部作为脚本执行。REPL 中允许的任何命令都可以在脚本中使用。脚本将输出打印到 stdout
,错误打印到 stderr
。
标点符号
-/--punctuate-output
标志使用下划线对输出数字进行标点。同样,可以在具有相同名称的键中执行此操作。此标志的存在会覆盖配置文件中设置的选项。
配置
Cork 接受 YAML 格式的配置文件。如果没有,则假定默认值。
位置
Cork 通过 -/--config
选项接受其配置文件的路径。
否则,Cork 将按照以下顺序查找配置文件
$HOME/.cork.yml
$HOME/.cork/cork.yml
$HOME/.config/cork/cork.yml
键
键 | 可能的值 | 默认值 | 目的 |
---|---|---|---|
prompt | string |
cork> | 在每行开始时显示的提示 |
default_radix | 十进制,十六进制,八进制,二进制 | 十六进制 | 输出格式的默认基数 |
header | bool |
是 | 启动时显示标题 |
标点输出 | bool |
否 | 用下划线标点输出数字 |
LICENSE
Cork是在GNU通用公共许可证,第2版下发布的。
依赖项
~10-23MB
~315K SLoC