Learning to use ranges instead of arrays
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sun Jul 20 09:11:01 PDT 2014
On Sunday, 20 July 2014 at 16:02:05 UTC, Bob Tolbert wrote:
> I find myself writing this code too much and i'm curious what D
> idiom I am missing.
>
> given a list of files (or any strings) and then maybe I want to
> sort them and maybe I don't.
>
> string [] fileList;
>
> ... fill list
>
> if (sort) {
> string [] tempList;
> foreach(filename; sort(fileList)) {
> tempList ~= filename;
> }
> fileList = tempList;
> }
>
> foreach(filename, fileList) {
> ... do something;
> }
>
> but I know this is ugly code, so I'm curious as to how to make
> it better. I suspect it is something very simple, about
> switching everything I do to 'ranges', but I can't see it yet.
>
> Thanks for any input,
> Bob
Even without ranges, you can do this:
string [] fileList;
... fill list
if (sort)
sort(fileList);
foreach(filename, fileList) {
... do something;
}
because sort works in-place.
More information about the Digitalmars-d-learn
mailing list