[−][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 |