diff --git a/elixir/livebook/2024/day3.livemd b/elixir/livebook/2024/day3.livemd index 8a2e79a..e0f0796 100644 --- a/elixir/livebook/2024/day3.livemd +++ b/elixir/livebook/2024/day3.livemd @@ -21,13 +21,12 @@ for instruction <- Regex.scan( input ), reduce: {true, 0} do {enabled?, acc} -> - (fn - false, ["mul" <> _ | _] -> {false, acc} - true, ["mul" <> _, _, a, b] -> {true, acc + String.to_integer(a) * String.to_integer(b)} - _, ["don" <> _ | _] -> {false, acc} - _, ["do()" | _] -> {true, acc} + case {enabled?, instruction} do + {false, ["mul" <> _ | _]} -> {false, acc} + {true, ["mul" <> _, _, a, b]} -> {true, acc + String.to_integer(a) * String.to_integer(b)} + {_, ["don" <> _ | _]} -> {false, acc} + {_, ["do()" | _]} -> {true, acc} end - ).(enabled?, instruction) end ```