// 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()); } }