use anyhow::Result;
use clap::Parser;
-use pspp::{
- raw::{Reader, Record},
-};
+use pspp::raw::{Reader, Record};
use std::fs::File;
use std::io::BufReader;
use std::path::{Path, PathBuf};
let mut reader = Reader::new(reader)?;
let records: Vec<Record> = reader.collect_headers()?;
- let mut n_cases = 0;
for record in records {
println!("{record:?}");
- match record {
- Record::EndOfHeaders(_) if max_cases == 0 => break,
- Record::Case(_) => {
- n_cases += 1;
- if n_cases >= max_cases {
- break;
- }
- }
- _ => (),
- }
+ if let Record::EndOfHeaders(_) = record {
+ break;
+ };
+ }
+
+ for _ in 0..max_cases {
+ let Some(Ok(Record::Case(data))) = reader.next() else {
+ break;
+ };
+ println!("{:?}", data);
}
Ok(())
}