Crates.io | list_builder |
lib.rs | list_builder |
version | 0.0.2 |
source | src |
created_at | 2015-03-21 04:29:44.527636 |
updated_at | 2015-12-11 23:54:10.497015 |
description | Python-like list comprehensions in Rust |
homepage | https://github.com/natemara/rust-list-builder |
repository | https://github.com/natemara/rust-list-builder |
max_upload_size | |
id | 1628 |
size | 5,807 |
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]);