Macro mapcomp::vecc [−][src]
macro_rules! vecc { (@__ $acc:ident, $exp:expr; for $item:pat in $iter:expr; if $cond:expr) => { ... }; (@__ $acc:ident, $exp:expr; for $item:pat in $iter:expr) => { ... }; (@__ $acc:ident, $exp:expr; for $item:pat in $iter:expr; if $cond:expr; $($tail:tt)+) => { ... }; (@__ $acc:ident, $exp:expr; for $item:pat in $iter:expr; $($tail:tt)+) => { ... }; ($exp:expr; $($tail:tt)+) => { ... }; }
Vector Comprehension
Creates a new Vec
from the contents of the comprehension. Vector
comprehensions are analogous to Python's list comprehension.
Python code:
items = [4, 7, 2]
even_squares = [x*x for x in items if x % 2 == 0]
Rust equivalent code:
let items = [4, 7, 2]; let even_squares = vecc![x*x; for x in &items; if x % 2 == 0]; assert_eq!(even_squares, vec![16, 4]);