8 个版本
使用旧的 Rust 2015
0.3.1 | 2016 年 12 月 8 日 |
---|---|
0.3.0 | 2016 年 11 月 28 日 |
0.2.2 | 2016 年 11 月 27 日 |
0.1.2 | 2016 年 11 月 14 日 |
#771 in 科学
37KB
601 行
protocoll
为 rust
集合提供一些基本协议及其实现。
受 clojure
的设计启发,尽管不是持久的。
这些协议旨在通过像 clojure
那样在几个集合上使用少量函数来简化函数式编程,来处理 rust
语言中不可避免的复杂性。
它们通过只支持少量函数来实现这一目标,这些函数要么接受类型 T
用于创建,要么接受类型 &T
用于利用,并拒绝那些接受类型 &mut T
用于破坏性修改的“丑陋”操作。
然而,出于效率原因,我发现我不得不支持这些“丑陋”操作。例如,在没有先删除条目然后重新插入条目的情况下,我无法消耗存储在映射中的值以生成相同类型的新值来替换旧值。另一方面,“丑陋”操作可以直接在原地修改值。所以如果你知道如何在不引起 rust
抱怨的情况下暂时移出一个值,请告诉我 :)