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.

Reply via email to