From 190f522242b2e91eb3213e828a26886aa7847f3a Mon Sep 17 00:00:00 2001 From: Julian Hurst Date: Tue, 3 Dec 2024 18:47:51 +0100 Subject: Refactor and add tests Folders need to have 'sensible' names for hare test to detect them. --- 3/3.ha | 31 ------------------------------- 3/in | 1 - 2 files changed, 32 deletions(-) delete mode 100644 3/3.ha delete mode 100644 3/in (limited to '3') diff --git a/3/3.ha b/3/3.ha deleted file mode 100644 index f4d3ac5..0000000 --- a/3/3.ha +++ /dev/null @@ -1,31 +0,0 @@ -use fmt; -use io; -use os; -use regex; -use strings; -use strconv; - -export fn main() void = { - const in = io::drain(os::stdin)!; - const sin = strings::trim(strings::fromutf8_unsafe(in)); - const re = regex::compile(`mul\([0-9]+,[0-9]+\)`)!; - defer regex::finish(&re); - - const results = regex::findall(&re, sin); - defer regex::result_freeall(results); - let sum = 0; - for (const result .. results) { - for (let r .. result) { - const idx1 = strings::index(r.content, ','); - const idx2 = strings::index(r.content, ')'); - const arg1 = strings::sub(r.content, 4, idx1: size); - const arg2 = strings::sub(r.content, idx1: size + 1, idx2: size); - - const a1 = strconv::stoi(arg1)!; - const a2 = strconv::stoi(arg2)!; - sum += a1 * a2; - fmt::printfln("{} * {} = {}", a1, a2, a1 * a2)!; - }; - }; - fmt::printfln("{}", sum)!; -}; diff --git a/3/in b/3/in deleted file mode 100644 index f274bda..0000000 --- a/3/in +++ /dev/null @@ -1 +0,0 @@ -xmul(2,4)%&mul[3,7]!@^do_not_mul(5,5)+mul(32,64]then(mul(11,8)mul(8,5)) -- cgit v1.2.3