From c54ce82d135c2a25bf3d88087f79659631b35e8a Mon Sep 17 00:00:00 2001 From: Kjetil Orbekk Date: Fri, 10 Jun 2016 23:46:13 -0400 Subject: Unfold example. --- rust/graph/Cargo.toml | 4 ++++ rust/graph/unfold.rs | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 rust/graph/unfold.rs (limited to 'rust/graph') diff --git a/rust/graph/Cargo.toml b/rust/graph/Cargo.toml index eb0841b..1cd21d8 100644 --- a/rust/graph/Cargo.toml +++ b/rust/graph/Cargo.toml @@ -13,3 +13,7 @@ path = "graph.rs" [[bin]] name = "graph2" path = "graph2.rs" + +[[bin]] +name = "unfold" +path = "unfold.rs" diff --git a/rust/graph/unfold.rs b/rust/graph/unfold.rs new file mode 100644 index 0000000..90de74c --- /dev/null +++ b/rust/graph/unfold.rs @@ -0,0 +1,16 @@ +extern crate itertools; + +use itertools::Unfold; + +fn main() { + for n in Unfold::new(1, |state| { + if *state < 100 { + *state += 1; + Some(*state) + } else { + None + } + }) { + println!("{}", n); + } +} -- cgit v1.2.3