#不可变 #序列 #集合

immutable-seq

不可变序列数据结构

3个版本

使用旧的Rust 2015

0.1.2 2017年2月12日
0.1.1 2017年2月12日
0.1.0 2017年2月12日

110#不可变

MIT 协议

71KB
2K SLoC

rust-immutable-seq

内容

API文档

关于

immutable-seq-rust 是一个库,为Rust编程语言提供不可变序列数据结构。

Seq 实现了一个类似于 Vec 的API,并且具有一个优点:数据结构的先前版本仍然可用且未更改。

使用方法

  • 将依赖项 immutable-seq 添加到您的 Cargo.toml

    [dependencies]
    immutable-seq = "0.1.0"
    
  • 在您的代码中包含 crate immutable-seq

    #[macro_use]
    extern crate immutable_seq;
    
    use immutable_seq::Seq;
    

    (#[macro_use] 仅需要启用下面的 seq! 宏。)

示例

  • 创建一个包含一些值的序列

    let seq1: Seq<i32> = seq![1, 2, 3];
    
  • 在开始处添加一个元素。 注意: 这会创建一个新的序列,其中包含添加的元素,但不会更改原始序列。

    let seq2 = seq1.push_front(0);
    assert_eq!(seq1, seq![1, 2, 3]);
    assert_eq!(seq2, seq![0, 1, 2, 3]);
    

依赖关系

~420–650KB