From 8cabe406430196e6f89e52d22998780c70880810 Mon Sep 17 00:00:00 2001 From: Nemo Date: Sat, 30 May 2020 03:51:13 +0530 Subject: [PATCH] I can read files in rust --- assembler/assembler.rs | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/assembler/assembler.rs b/assembler/assembler.rs index 172441b..27f9997 100644 --- a/assembler/assembler.rs +++ b/assembler/assembler.rs @@ -1,17 +1,31 @@ -use std::fs::File; use std::env; +use std::fs::File; use std::io::{self, BufRead}; use std::path::Path; -fn main() -> std::io::Result<()> { - let fileName = env::args().nth(1); - let fileLines = read_lines(fileName); - Ok(()) + +fn main() { + let args: Vec = env::args().collect(); + let filename = parse_config(&args); + + if let Ok(lines) = read_lines(Path::new(filename)) { + // Consumes the iterator, returns an (Optional) String + for line in lines { + if let Ok(ip) = line { + println!("{}", ip); + } + } + } } +fn parse_config(args: &[String]) -> &str { + let filename = &args[1]; + filename +} +// The output is wrapped in a Result to allow matching on errors +// Returns an Iterator to the Reader of the lines of the file. fn read_lines

(filename: P) -> io::Result>> where P: AsRef, { let file = File::open(filename)?; Ok(io::BufReader::new(file).lines()) } -