[go: up one dir, main page]

itertools 0.0.9

extra iterator adaptors, functions and macros
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#![feature(phase)]

#[phase(link, plugin)]

extern crate itertools;

use std::iter::AdditiveIterator;

#[test]
fn icompr() {
    let log = "GET / 4096\nGET /home/ 16301\nPOST /home/ 49\nGET / 4096\n";
    let lines = log.lines();
    let rows = icompr!(line.words() for line in lines);
    let ngets = icompr!(1i for mut row in rows if row.next() == Some("GET")).sum();
    assert_eq!(ngets, 3i);
}