Re:My Vision of D’s Future
by abaga129 on Tuesday October 15, 2019 @02:22PM
(#21261862)
Having to use .array() on the Result of some functions is the exact same problem I've ran into as well! D is by far my favorite language but there is definitely some room for improvement in terms of documentation on how to use the standard library.
[ Parent
| on HN ]
On the other hand, I like the explicitness of it instead of automatically converting to a different type. At least you know exactly what it's doing.
The python version of it would be calling `list()` on things all the time, which you might not always want to do.
That's a fair point. I'm not necessarily against having to do it, I just would like there to be a more obvious indication of how to convert the result to an array. It took a lot of searching the first time I came across this.
Perhaps it's just my own incompetence though!
It's definitely not your incompetence. I started learning D a few months ago and it didn't click until someone on IRC explained it clearly to me. It's not in the tutorial or anything unless I missed it.
Re:My Vision of D’s Future
by he_the_great on Thursday October 17, 2019 @12:04AM
(#21278816)
It is the first thing I added to my articles when I introduced range based operations :
It's not the best idea to always unconditionally use .array because you might want to preserve the laziness of a Result type. By using .array you're saying you want all of the results into memory right now! Depending on what you're doing, you might not want that.
I actually didn't know this! Very cool. I guess it's similar to calling .ToList() on IEnumerable<T> in C#.