#ergo #std #standard #items #part #ecosystem

ergo_std

可能包含在标准库中的项目,ergo生态系统的部分

3个版本

使用旧的Rust 2015

0.0.3 2018年4月21日
0.0.2 2018年4月21日
0.0.1 2018年2月5日

#13 in #ergo

33 每月下载次数
2 个crate中使用(通过ergo

MIT/Apache

7KB

ergo_std: 可能包含在标准库中的项目。

Build Status Build status Docs

查看库文档以获取更多信息

许可证

此存储库中的源代码许可如下

任选其一。

除非您明确声明,否则您提交的任何旨在包含在此作品中的贡献(根据Apache-2.0许可证定义),均应按上述方式双重许可,而无需任何附加条款或条件。


lib.rs:

ergo_std:可能包含在标准库中的项目。

这是ergocrate生态系统的一部分“核心类型”库。它包含适用于通用编程项目的有用类型、特性和函数,这些项目不属于其他ergocrate,但对提高工作效率和生产力大有裨益。

如何使用

在您的Cargo.toml

[dependencies]
ergo_std = "0.1"
serde = "1.0"
serde_derive = "1.0"

您必须在Cargo.toml中将其他crate放入,以便#[derive(...)]正确工作。

#[macro_use] extern crate ergo_std;
use ergo_std::*;
fn main() {
    /* Your code goes here */
}

导出项

以下crate和类型被导出。请参阅它们的文档以了解如何使用它们。

  • std_prelude:扩展Rust的std::prelude,包含常用类型。crate有很好的文档,每个类型都有合理的说明和使用案例。
  • serde:Rust的事实上的序列化库。还导入serde_derive,因此您可以使用#[derive(Serialize, Deserialize)]
  • lazy_static!:`lazy_static!` 宏是创建全局变量和常量的当前标准方法。警告:它们是延迟创建的(在运行时)!
  • itertools:itertools 预言提供扩展 Rust 已广泛使用的迭代器 API 的特质。
  • indexmap:可索引和可排序的映射和集合类型,其性能与 std 类型相似,且在迭代时性能更好。
  • maplit:提供 hashmap!hashset!btreemap!btreeset! 宏来补充 Rust 的现有 vec! 宏。这些
  • Regex:来自 regex 库的正则表达式类型。

特别感谢

导出的 crate 包含

  • serde:Rust 的序列化框架
  • std_prelude:Rust stdlib 应该始终具有的预言
  • lazy_static:在 Rust 中定义延迟评估的静态变量的小型宏。
  • itertools:额外的迭代器适配器、迭代器方法、自由函数和宏。
  • indexmap:具有一致顺序和快速迭代的哈希表(以前称为 ordermap
  • maplit:Rust 容器/集合字面量宏,用于 HashMap、HashSet、BTreeMap、BTreeSet。
  • regex:Rust 的正则表达式实现。此实现使用有限自动机,并保证对所有输入的线性时间匹配。

请考虑单独支持它们的发展并在 GitHub 上给它们加星。

依赖项

~6MB
~120K SLoC