#slice #drain #consume #narrow

gnaw

方便地从切片或 str 中切出小块用于其他地方

2 个版本

0.0.2 2020年9月10日
0.0.1 2020年8月26日

#172解析工具

每月 下载 28
用于 6 仓库(2 个直接使用)

MIT/Apache

10KB
95

gnaw

Lib.rs Crates.io Docs.rs

Rust 1.40.0 Build Status Crates.io - License

GitHub open issues open pull requests crev reviews

使用此包,您可以方便地从 切片str 中切出小块用于其他地方。

安装

请使用 cargo-edit 添加此库的最新版本

cargo add gnaw

示例

use gnaw::{Drain as _, Pop as _, Unshift as _};

let mut text = "abcdefg";

assert_eq!(text.unshift(), Some('a'));
assert_eq!(text.pop(), Some('g'));

let mut drain = text.drain();
assert_eq!(drain.next(), Some('b'));
assert_eq!(drain.next(), Some('c'));
assert_eq!(drain.next_back(), Some('f'));
assert_eq!(drain.next_back(), Some('e'));
drop(drain);

//TODO: Why isn't the mutable borrow released here?
//assert_eq!(text, "d");

许可证

根据您的要求,许可方式可以是以下两种之一:

任选其一。

贡献

除非您明确说明,否则您提交给包含在作品中的任何贡献(根据 Apache-2.0 许可证定义),都应如上双许可,无任何附加条款或条件。

行为准则

更新日志

版本控制

gnaw 严格遵循 语义版本控制 2.0.0,但有以下例外

  • 在主要版本变更时,次要版本不会重置为 0(除了 v1)。
    将其视为全局功能级别。
  • 在主要或次要版本变更时,补丁版本不会重置为 0(除了 v0.1 和 v1)。
    将其视为全局补丁级别。

这包括上述指定的 Rust 版本要求。
较早的 Rust 版本可能兼容,但这可能会随着次要或补丁版本而改变。

受功能和补丁影响的版本可以在 CHANGELOG.md 的相应标题中确定。

无运行时依赖