#string #case #identifier #snake #valid #lower-case #non-empty

snake_case

SnakeCase 是一种类似于 String 的类型,只能包含有效的非空 snake_case

5 个不稳定版本

0.3.1 2021年3月13日
0.3.0 2021年3月13日
0.2.1 2021年3月13日
0.2.0 2019年9月25日
0.1.0 2019年9月24日

#1692编码

Download history 180/week @ 2024-03-11 194/week @ 2024-03-18 142/week @ 2024-03-25 291/week @ 2024-04-01 273/week @ 2024-04-08 292/week @ 2024-04-15 161/week @ 2024-04-22 120/week @ 2024-04-29 89/week @ 2024-05-06 107/week @ 2024-05-13 64/week @ 2024-05-20 78/week @ 2024-05-27 32/week @ 2024-06-03 60/week @ 2024-06-10 79/week @ 2024-06-17 102/week @ 2024-06-24

273 每月下载次数
diffus 中使用

MIT 许可证

10KB
216

snake_case

Latest version Documentation Build Status MIT

一个用于处理 snake_case 标识符的 Rust 包

此包的目的是公开类型 SnakeCase,它是一个包裹在 String 中的包装器,只能包含有效、非空的 snake_case,且不能以数字开头。换句话说,它始终匹配 ^[_a-z][_a-z0-9]*$

  • 非空
  • 以小写ASCII字母或下划线开头
  • 只包含小写ASCII字母、下划线和数字

注意:此包认为 ___foo__bar_ 是有效的 snake_case。

总结:SnakeCase 可以存储任何也是有效的 Rust 小写标识符的字符串。

为什么?

这种情况通常用于唯一的标识符,snake case 对此非常适用。 SnakeCase 总是有效的,这意味着您永远不会遇到尾随空格或空字符串的问题。

基本用法

let id = SnakeCase::try_from_str("hello_world").unwrap();
assert_eq!(id, "hello_world");

还有 SnakeCaseRef,它是 snake_case 字符串的非拥有引用。

Serde

如果您启用了 "serde" 功能,那么 SnakeCase 将实现 SerializeDeserialize

Deserialize 将在字符串不是有效的 snake_case 时失败。

依赖项

~175KB