2 个不稳定版本

0.2.0 2024 年 2 月 22 日
0.1.0 2023 年 5 月 9 日

#787命令行实用工具

Download history 8/week @ 2024-03-09 1/week @ 2024-03-16 21/week @ 2024-03-30 86/week @ 2024-06-08 5/week @ 2024-06-15

91 每月下载量

MIT 许可协议

275KB
4K SLoC

SUUKON | 数コン

警告:本次更新引入了破坏性变更。如果您之前使用的是 v0.1.0,请查看 变更日志 以获取更多详细信息。

此 Rust 包提供用于处理多个数字系统的 CLI 二进制文件和库。

库中包含一个名为 Numeral 的 trait,用于方便使用,并为每个数字系统提供一系列模块,以提供更直接的控制。

此包的主要目标是支持任何类型的数字系统。有关数字系统的参考,请参阅维基百科上的 数字系统列表

命令行界面

CLI 的一般模式如下

suukon -i <INPUT> -t <TARGET> -s [SETTINGS] -- <NUMBER>

参考

  • <INPUT> - 输入数字系统
  • <TARGET> - 目标数字系统
  • [SETTINGS] - 转换的附加设置
  • <NUMBER> - 要转换的数字

示例

假设,您想使用以下命令将普通数字转换为日本数字大字だいじ十的负幂的数字,以“割”开头而不是“分”。命令看起来像这样

suukon -t japanese -s financial negative_powers alt -- 12.34

在转换回原始数字时,您不需要设置任何设置,因为算法会为您执行必要的模式匹配

suukon -i japanese 拾弐点参割肆分

帮助

有关可用设置的参考,请参阅 crates.io 上的文档。

要查看所有可用标志的完整列表,请使用以下命令

suukon --help

安装

只需将以下行添加到您的 Cargo.toml

[dependencies]
suukon = { version = "0.2.0", default-features = false }

或本地安装二进制文件

cargo install suukon

这将从 crates.io 下载最新的 suukon 包并编译二进制文件。

使用方法

在项目中使用这个crate通常有两种方法。为了更舒适的使用,建议使用Numeral特质,但您仍然可以使用常规函数。

Numeral 特质

除了导入Numeral特质之外,您还需要导入NumeralSystemSetting枚举。

use suukon::{Numeral, NumeralSystem, Setting};

// Convert a number to japanese short notation
assert_eq!(
    Some("12.3万".to_string()),
    123000.to_numeral(
        NumeralSystem::Japanese,
        vec![Setting::ShortNotation]
    )
);

// Convert a number back
assert_eq!(
    Some("123000".to_string()),
    "12.3万".from_numeral(NumeralSystem::Japanese)
);

常规函数

或者,您可以导入数值系统的单个模块并使用它提供的函数。

use suukon::japanese::*;

有关如何使用常规函数的更多详细信息,请参阅crates.io上的文档。

支持的数值系统

目前支持以下数值系统

潜在用途

通过从这个库生成训练数据,语言模型可以学习识别和使用不同的数值系统,这可以提高翻译的准确性。

贡献

如果您在此库中遇到任何错误或问题,请在GitLab仓库上创建一个问题。

如果您想为Suukon的开发做出贡献,您可以在GitLab仓库中提交合并请求。请确保您的合并请求包含相关的测试。

有关如何贡献的更多信息,请参阅CONTRIBUTING.md

许可证

本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。

依赖项

~390–750KB
~15K SLoC