You can’t really blame that on rust.
Yeah ngl it’s very ugly. But hey as long as it works it’s not stupid amirite?
Rust borrows a lot of it’s design from functional programming languages like Haskell, which has its good and bad. You could also choose to implement this behavior iteratively like typical C programs, but that tends to be ugly in other ways.
Personally, I’ve grown fond of the functional style. You see it in other places too, like the higher order functions in JavaScript. What’s good about them in Rust is you still get amazing performance due to zero-cost abstraction. Trying to implement it yourself would likely be slower, so use them any chance you get.
Show the alternative, I’ll have a good laugh.
Java 2. World is full of wonders
Java 2 didn’t have streams nor iterator combinatorics, not sure what you mean?
i didn’t mean as a version. I meant as overuse of streams
How would you have preferred to solve it? Using for loops?
Python style iterator comprehension
(wonder if someone has made that into a macro. if no one has I will)
I don’t think it would be readable. Too much going on. You’d need an outer iter over lines, an inner over words, a check for number and a conversion. And there would be zero error handling.
No less readable than half the Python comprehensions I’ve written.
zero error handling.
Not necessarily. The macro could look for a ? at the end of the final expression (the bit that comes first in a comprehension) and return a Result.
Right, of course, I meant no error handling in the Python impl