[−][src]Crate iter_python
iter-python
Python generator expressions (
iter!) and "list" comprehensions (vec_it!)
Usage
-
Add the following line to your
Cargo.toml, under[dependencies]:iter-python = "0.9.0" -
Bring
iter!and (enhanced)vec!into scope in you Rust code with:use ::iter_python::{iter, vec_it as vec};
Example
//! Run with `cargo run --example readme` use ::iter_python::{ iter, // "generator expressions" vec_it as vec, // "list comprehensions" }; fn main () { use ::itertools::Itertools; // .join() method let s = iter!( format!("{}!", s), for s in " Hello World ".split_whitespace(), if !s.is_empty() ).join("\n"); dbg!(&s); assert_eq!( s, "Hello!\nWorld!", ); let v = vec![ x, for &x_opt in &[None, Some(42), None], if let Some(x) = x_opt ]; dbg!(&v); assert_eq!( v, vec![42], // classic vec! macro is still there ); }
Macros
| iter | Write the most pervasive iterator adapters (filtering and mapping) as Python generator expressions. |
| vec_it | Python "list" comprehensions: same as |