Skip to content

lily-mara/rust-list-builder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust List Builder

List/set/generator comprehensions are one of the best features of Python and Haskell. They make creating complex iterables simpler and more intuitive. This crate attempts to add similar functionality to the Rust language.

This crate provides the gen! macro. Its syntax is similar to Python list comprehensions:

#[macro_use(gen)]
#[no_link]
extern crate list_builder;

fn main() {
	let x: Vec<i32> = gen![i*1000 => i in [1, 2, 3, 4, 5, 6]];
}

You can use conditionals just like in Python:

let x: Vec<i32> = gen![i*1000 => i in [1, 2, 3, 4, 5, 6], i % 2 == 0];
assert_eq!(x, vec![2000, 4000, 6000]);