#exchange-rate #numbat #currency #ecb #dimension #physical #units

numbat-exchange-rates

从欧洲央行(ECB)获取和解析货币汇率的库

5 个版本 (重大更改)

0.5.0 2024年2月12日
0.4.0 2023年11月3日
0.3.0 2023年9月26日
0.2.0 2023年9月20日
0.1.0 2023年7月12日

#223 in 科学

Download history 55/week @ 2024-03-11 26/week @ 2024-03-18 24/week @ 2024-03-25 48/week @ 2024-04-01 8/week @ 2024-04-08 8/week @ 2024-04-15 7/week @ 2024-04-22 9/week @ 2024-04-29 13/week @ 2024-05-06 18/week @ 2024-05-13 53/week @ 2024-05-20 29/week @ 2024-05-27 34/week @ 2024-06-03 31/week @ 2024-06-10 46/week @ 2024-06-17 31/week @ 2024-06-24

每月下载量 146 次
3 个库中使用 (通过 numbat)

MIT/Apache

4KB

在线尝试!文档教程语法参考安装开发

Numbat 是一种用于科学计算的静态类型编程语言
具有对物理维度和单位的一等支持。

主要功能

点击了解更多。

物理维度作为类型

Numbat 拥有静态类型系统,其中物理维度(如 LengthTime)充当类型。常量和函数的定义可以包含类型注解,这些注解将得到静态强制执行。如果未指定类型,将自动推断(如截图中的 SpeedMoneyFrequency)。

参见 这篇文章 了解更多关于 Numbat 类型系统信息。

一等物理单位

小袋鼠(Numbat)专注于具有单位的计算。因此,单位被视为一等公民。它们可以用多种方式输入(如km/hkilometer/hourGiBgibibytes°degreem^2)。新单位可以现场引入(如unit pixel)。兼容的单位可以轻松转换(使用->运算符)(如30 km/h -> mph1 mrad -> degree5 in + 2 ft -> cm27 weeks -> days)。并且使用各种启发式方法简化单位表达式(如15 km/h * 30 min = 7.5 km)。

全面的标准库

小袋鼠的标准库提供了大量的物理维度和单位(国际单位制、美国公制、英制、航海制、天文学制、原子制、核物理制等)。请参见此参考页面以获取完整概述。它还包含大量的数学和物理常数以及一系列预定义函数

严格的语法

小袋鼠的解析器永远不会试图在语法错误输入上变得“聪明”。这意味着你将得到一个(描述性的)错误消息,或者你可以相信你的计算结果。

出色的错误消息

小袋鼠旨在提供描述性和有帮助的错误消息

交互式终端

小袋鼠已被设计用于交互式用例和小型“一次性”计算。在不带任何参数的情况下打开numbat解释器将启动一个具有熟悉的readline界面的REPL,包括命令历史记录、Ctrl-R搜索或制表符补全等所有常用功能。

模块化和可定制

整个物理维度和单位系统都在小袋鼠的标准库中指定,该库是用小袋鼠语言本身编写的(见此自定义文件)。例如,只需一行(如unit bathtub = 150 L)就足以添加新单位。用户甚至可以选择编写自己的prelude模块,从而允许对单位系统进行任意修改。

断言

凭借其静态类型系统,Numbat已经在物理维度级别上强制执行计算的正确性。但一些检查只能在运行时进行。Numbat提供了一个assert_eq过程,允许您使用assert_eq(12 ft, 1 in)检查精确相等,或者使用assert_eq(c, 300_000 km/s, 1% × c)检查近似相等。这可以确保在计算结构调整过程中,中间结果不会发生变化。

非功能特性

Numbat是一个科学计算器。它不是一个解决微分方程或计算积分的计算机代数系统。请尝试WolframAlpha
没有图形用户界面,如1/xDEG/RAD这样的按钮。Qalculate!是一个支持文本和图形输入的出色工具。
Numbat支持广泛的物理单位。如果您需要更全面的解决方案,请考虑做出贡献。或者尝试GNU units

 

 

 

 

安装

有关如何安装Numbat的原生命令行版本的详细信息,请参阅此页面

开发

CICD

运行Numbat CLI

cargo run -- <numbat args>

安装CLI版本

cargo install -f --path numbat-cli

运行所有测试

cargo test

正在处理prelude

如果您正在处理Numbat的标准库,则方便地将环境变量NUMBAT_MODULES_PATH指向numbat/modules/文件夹。这样,您无需重新编译Numbat即可查看更改。

或者,您可以从~/.config/numbat/modules创建到存储库中numbat/modules/文件夹的符号链接(有关其他操作系统的标准路径,请参阅此页面)。

联系我们

要联系我们,请打开GitHub问题讨论,或者访问Libera.Chat上的#numbatWeb聊天链接)。

依赖项

~1.2–1.8MB
~32K SLoC