#bc #cli #rust

bin+lib dntk

多平台交互式计算器,GNU bc 封装

31 个稳定版本

2.2.1 2019年12月16日
2.1.19 2019年12月16日
2.1.18 2019年7月11日
2.1.16 2019年6月6日
2.1.7 2019年5月31日

#1944 in 命令行工具

MIT 协议

63KB
1K SLoC

dntk

Travis CI v2.2.0 crates docker license platform

dntk 是多平台交互式计算器,GNU bc 封装。
gjf

✔︎ dntk 在日语中意为计算器。
✔︎ dntk 是 GNU bc 封装。因此,语法与 GNU bc 相同。 了解语法更多
✔︎ dntk 是一个 NATIVE Rust 程序。
✔︎ dntk 可以移动光标,可以删除字符,可以刷新缓冲区。
✔︎ dntk 写入颜色表示:

颜色 表示
青色 可以计算和输出
品红色 不能计算,不能输出
黄色 危险输入字符,输出警告
绿色 清除缓冲区信息

当前 dntk 版本:v2.2.1

下载页面: https://github.com/nnao45/dntk/releases/latest

平台

dntk 支持多平台 😊 mac, linux, freebsd, 和 windows!!!

  • i686-osx
  • x86_64-osx
  • i686-linux
  • x86_64-linux
  • i686-windows
  • x86_64-windows
  • i686-freebsd
  • x86_64-freebsd

安装

Mac

$ brew install nnao45/dntk/dntk

Linux

$ wget https://github.com/nnao45/dntk/releases/download/v2.2.0/dntk-v2.2.0-x86_64-unknown-linux-musl.zip
$ unzip dntk-v2.2.0-x86_64-unknown-linux-musl.zip

Windows

$ wget https://github.com/nnao45/dntk/releases/download/v2.2.0/dntk-v2.2.0-x86_64-pc-windows-msvc.zip
$ unzip dntk-v2.2.0-x86_64-pc-windows-msvc.zip

FreeBSD

$ wget https://github.com/nnao45/dntk/releases/download/v2.2.0/dntk-v2.2.0-x86_64-unknown-freebsd.zip
$ unzip dntk-v2.2.0-x86_64-unknown-freebsd.zip

Cargo

$ cargo install dntk

zplug

$ zplug 'nnao45/dntk', as:command, from:gh-r

Docker

可以使用 dntk Docker 镜像,
看!! 非常轻量级!!🚀

$ docker images nnao45/dntk
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nnao45/dntk         latest              3a37b5d989b5        2 hours ago         10.5MB

然后运行,

$ docker run -it --rm nnao45/dntk:latest

然后...

$ echo 'alias bc=dntk' >> ~/.bashrc
$ echo 'alias bc=dntk' >> ~/.zshrc

所有都正常!! 😎

选项

❯❯❯ dntk -h
Command line's multi-platform interactive calculator, GNU bc wrapper.

USAGE:
    dntk [FLAGS] [OPTIONS]

FLAGS:
    -h, --help           Prints help information
        --once           Run at only once
    -q, --quiet          No print information message
        --show-limits    Print the local limits enforced by the local version of bc, and quit
    -V, --version        Prints version information
    -w, --white          Set White color in a output

OPTIONS:
    -b, --bc-path <bc_path>    Use a specific bc command path [default: bc]
    -i, --inject <inject>      Pre-run inject statement to the dntk [default: ]
    -s, --scale <scale>        Number of truncated after the decimal point [default: 20]

Windows 支持

您可以安装 bc.exe 并设置 PATH。

$ choco install gnuwin
$ # or
$ wget wget https://embedeo.org/ws/command_line/bc_dc_calculator_windows/bc-1.07.1-win32-embedeo-02.zip
$ unzip bc-1.07.1-win32-embedeo-02.zip

gjf

快捷键

基本键

功能
[, ← 光标向左移动
], → 光标向右移动
0~9 发送这个数字的键
Ctrl+C, Enter 结束 dntk 应用
Delete, Backspace 删除当前字符
@ 清除缓冲区

基本操作

功能
+
-
*
/
^ 乘方
% 余数

逻辑运算符

功能
! 布尔,关系
| 布尔
& 布尔
> 关系
< 关系
= 关系

使用函数

您可以使用以下函数。

函数 功能
(x) () 简单圆括号
sin(x) s() 正弦函数
cos(x) c() 余弦函数
atan(x) a() 反正切函数
log(x) l() 对数函数
exp(x) e() 指数函数
sqrt(x) sqrt() 返回表达式的平方根函数
j(n,x) j() n 阶贝塞尔函数

更多详情 👉 https://www.gnu.org/software/bc/manual/html_mono/bc.html

管道使用...

$ echo "123 * 2" | dntk
246

表现得像 bc ☺️

开发指南

编译

二进制

$ make

Docker

$ make docker-build

贡献

始终欢迎!! 😄

祝你在 Rust 编程中愉快!✨😉

作者 & 许可证

dntk 是由 nnao45 编写的(工作:基础设施工程师,Twitter:@nnao45,邮箱:[email protected])。
此软件在 MIT 许可下发布,见 LICENSE。

依赖项

~3.5–5MB
~86K SLoC