65
What could go wrong trying to solve AoC in Rust?
(sh.itjust.works)
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
The
collect
's in the middle aren't necessary, neither is splitting by": "
. Here's a simpler versionIt is simpler to bang out a
[int(num) for num in text.splitlines()[0].split(' ')[1:]]
in Python, but that just shows the happy path with no error handling, and does a bunch of allocations that the Rust version doesn't. You can also get slightly fancier in the Rust version by collecting into aResult
for more succinct error handling if you'd like.EDIT: Here's also a version using
anyhow
for error handling, and the aforementionedResult
collecting:Yeah I was trying to do something like reading the first line by getting an iterator and just looping through the other lines normally, since first line was kind of a special case but it got messy quick. I realized halfway that my collects were redundant but couldn't really simplify it. Thanks
Also,
anyhow::Context
provides a convenient way to turnOption<T>
andResult<T, Into<anyhow::Error>>
intoanyhow::Result<T>
Like this:
Edit: line breaks