This commit is contained in:
2024-02-16 22:50:55 +01:00
commit b073479bfb
209 changed files with 2286 additions and 0 deletions

1
day1/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
/target

54
day1/Cargo.lock generated Normal file
View File

@@ -0,0 +1,54 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "aho-corasick"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
dependencies = [
"memchr",
]
[[package]]
name = "day1"
version = "0.1.0"
dependencies = [
"regex",
]
[[package]]
name = "memchr"
version = "2.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
[[package]]
name = "regex"
version = "1.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343"
dependencies = [
"aho-corasick",
"memchr",
"regex-automata",
"regex-syntax",
]
[[package]]
name = "regex-automata"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
[[package]]
name = "regex-syntax"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"

9
day1/Cargo.toml Normal file
View File

@@ -0,0 +1,9 @@
[package]
name = "day1"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
regex = "1.10.2"

1000
day1/nyger.txt Normal file

File diff suppressed because it is too large Load Diff

45
day1/src/main.rs Normal file
View File

@@ -0,0 +1,45 @@
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
use regex::Regex;
fn main() {
// Create a path to the desired file
let path = Path::new("nyger.txt");
let display = path.display();
// Open the path in read-only mode, returns `io::Result<File>`
let mut file = match File::open(&path) {
Err(why) => panic!("couldn't open {}: {}", display, why),
Ok(file) => file,
};
// Read the file contents into a string, returns `io::Result<usize>`
let mut s = String::new();
let re = Regex::new(r"\d").unwrap();
//file.read_to_string(&mut s);
//match file.read_to_string(&mut s) {
// Err(why) => panic!("couldn't read {}: {}", display, why),
// Ok(_) => match re.captures(&s) {
// Some(caps) => println!("{}", caps.get(0).unwrap().as_str()),
// None => println!("chuj ci w dupe")
// }
//}
file.read_to_string(&mut s);
match file.read_to_string(&mut s) {
Err(why) => panic!("couldn't read {}: {}", display, why),
Ok(_) => for number in re.find_iter(&s) {
print!("{}", number.as_str());
}
}
}