Repolode
sharkdp

sharkdp/numbat

一种静态类型的科学计算编程语言与计算器,内置物理量纲和单位支持。

可替代:Wolfram AlphaQalculate

Star
2,775
Fork
120
未关闭 Issue
131
最近提交
9天前

这是什么?

Numbat 是一门面向科学计算的编程语言,把长度、时间等物理量纲作为类型使用。类型系统会检查计算中各个量的组合是否合理,类型既可以显式声明,也可以由编译器自动推断。

单位是语言中的一等公民。可以用多种写法输入单位(如 km/h、kilometer/hour、m^2),用 -> 运算符进行换算,也能在代码中随时定义新单位。标准库涵盖 SI、美制、英制、航海、天文、原子和核物理等单位体系,以及大量常数和函数。标准库本身用 Numbat 编写,可以通过 init.nbt 文件扩展。

命令行工具自带交互式 REPL,支持历史记录、Ctrl-R 搜索和 Tab 补全,也可以直接在浏览器中试用。解析器对有歧义的输入会给出明确的错误提示,而不是擅自猜测。它定位是科学计算器,而非符号计算系统。

核心功能

  • 01物理量纲(如 Length、Time)作为静态类型使用,支持类型推断。
  • 02单位可用多种写法输入,并通过 -> 运算符换算。
  • 03几行代码即可定义新单位和函数。
  • 04标准库覆盖 SI、英制、航海、天文等单位体系及常用物理常数。
  • 05交互式 REPL 支持历史记录、反向搜索和 Tab 补全。
  • 06assert_eq 可在运行时检查物理量的精确或近似相等。

适用场景

  • 检查物理或工程计算中的单位是否一致。
  • 在公制、英制等单位制之间快速换算。
  • 编写需要尽早发现单位错误的计算脚本。
  • 为特定领域添加自定义单位。

快速上手

  1. 1

    安装原生命令行版本(详见安装文档)

  2. 2

    从本地源码安装命令行工具

    cargo install -f --path numbat-cli
  3. 3

    启动交互式 REPL

    numbat

使用前须知

  • Numbat 是科学计算器,而非计算机代数系统,无法求解微分方程或计算积分。
  • 没有图形用户界面。

标签

常见问题

numbat 是什么?
一种静态类型的科学计算编程语言与计算器,内置物理量纲和单位支持。 Numbat 是一门面向科学计算的编程语言,把长度、时间等物理量纲作为类型使用。类型系统会检查计算中各个量的组合是否合理,类型既可以显式声明,也可以由编译器自动推断。
numbat 可以免费使用吗?用的什么许可证?
numbat 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
numbat 还在维护吗?
活跃维护中。numbat 最近一次提交是在 2026年10月11日。
numbat 适合用来做什么?
检查物理或工程计算中的单位是否一致。 在公制、英制等单位制之间快速换算。 编写需要尽早发现单位错误的计算脚本。 为特定领域添加自定义单位。
numbat 怎么安装和运行?
安装原生命令行版本(详见安装文档) 从本地源码安装命令行工具: cargo install -f --path numbat-cli 启动交互式 REPL: numbat
在哪里获取 numbat?
源代码和安装说明在 GitHub 上:https://github.com/sharkdp/numbat

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目