6 个版本
0.0.10 | 2023年6月24日 |
---|---|
0.0.9 | 2023年6月24日 |
#361 in 文本处理
131 每月下载
在 pks 中使用
125KB
3K SLoC
Rust 词形变化器
此项目是从 https://github.com/chrislearn/cruet 分支出来的。
此库的目的是尽可能接近地模仿 https://api.rubyonrails.net.cn/classes/ActiveSupport/Inflector.html 中的行为,以便于 Rust 工具的实现。
添加基于 String 的词形变化。支持蛇形、下划线、火车、驼峰、句子、类、标题和表格形式,以及序数化、非序数化、去模块化、外键、复数化/单数化等特性,作为特性和纯函数作用于 &str 和 String 类型。
文档
文档可在 README 中找到或通过以下 Rust 文档访问。
安装
作为 crate
[dependencies]
ruby_inflector = "*"
自行编译
- 安装 Rust 和 cargo
- git clone https://github.com/alexevanczuk/ruby_inflector
- 库:cd ruby_inflector && cargo build --release --lib
- 库位于 target/release 目录中
用法 / 示例
// to use methods like String.to_lower_case();
use ruby_inflector::Inflector;
fn main() {
let camel_case_string: String = "some_string".to_camel_case();
}
或者
// to use methods like to_snake_case(&str);
use ruby_inflector;
// use ruby_inflector::to_class_case;
// use ruby_inflector::is_class_case;
// use ruby_inflector::to_camel_case;
// use ruby_inflector::is_camel_case;
// use ruby_inflector::to_pascal_case;
// use ruby_inflector::is_pascal_case;
// use ruby_inflector::to_screamingsnake_case;
// use ruby_inflector::is_screamingsnake_case;
// use ruby_inflector::to_snake_case;
// use ruby_inflector::is_snake_case;
// use ruby_inflector::to_kebab_case;
// use ruby_inflector::is_kebab_case;
// use ruby_inflector::to_train_case;
// use ruby_inflector::is_train_case;
// use ruby_inflector::to_sentence_case;
// use ruby_inflector::is_sentence_case;
// use ruby_inflector::to_title_case;
// use ruby_inflector::is_title_case;
// use ruby_inflector::to_table_case;
// use ruby_inflector::is_table_case;
// use ruby_inflector::ordinalize;
// use ruby_inflector::deordinalize;
// use ruby_inflector::to_foreign_key;
// use ruby_inflector::is_foreign_key;
// use ruby_inflector::demodulize;
// use ruby_inflector::deconstantize;
// use ruby_inflector::to_plural;
// use ruby_inflector::to_singular;
fn main() {
let camel_case_string: String = to_camel_case("some_string");
}
贡献
本项目旨在为合作提供一个安全、友好的空间,贡献者应遵守 贡献者公约 代码行为准则。
依赖关系
~2.1–3MB
~53K SLoC