blob: 912d8681dc1829a816a6593f381cc6a68743390a [file] [log] [blame]
// ScanLines is a struct that is used to 'iterate' over a Scanner
// for each line in a readable source. It cannot (currently) be
// an actual iterator because of lifetime constraints, because
// it returns a Scanner that borrows a string from the struct. This
// however makes it more efficient.
//
// This example prints out the first token of each line in this file
extern crate scanlex;
use scanlex::ScanLines;
use std::fs::File;
fn main() {
let f = File::open("scanline.rs").expect("cannot open scanline.rs");
let mut iter = ScanLines::new(&f);
while let Some(s) = iter.next() {
let mut s = s.expect("cannot read line");
println!("{:?}",s.get());
}
}