use pipette::{Pipeline, pipe};
let input = 1;
let output = pipe((
input
|a| a * 2,
|a| a * 3,
|a| a * 4,
|a| a * 5,
|a| a * 6,
|a| a * 7,
|a| a * 8,
));
assert_eq!(output, 40_320);
fn add_one(a: i32) -> i32 {
a + 1
}
let r0 = pipe((0, add_one, add_one));
let r1 = pipe((0, add_one, add_one, add_one));
let r2 = pipe((0, add_one, add_one, add_one, add_one));
let r3 = pipe((0, add_one, add_one, add_one, add_one, add_one));
// lazy pipeline
let add_three = (0, add_one, add_one, add_one);
add_three.compute();
Rust for Rustaceans 是一本 Rust 新书,目标读者从书的简介里可以知道是针对对于Rust有一定了解,还想要再更近一步深入的读者。Difftastic解析源代码(使用树状图),执行结构性差异(基本上是Dijktra的算法),然后试图以一种可理解的方式显示它:)
它并不完美:它有时会被混淆,而且它真的不喜欢大文件。这是我在crates.io上的第一个相关工具,而且它真的很有趣,可以修补。
https://github.com/Wilfred/difftastic/
希望你有任何反馈!
Are we podcast yet...令人熟悉的Rust社区Are we体名字 :)Rust for Rustaceans的作者:原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。