Accessing a Hash table as a Value-Sorted Range
"Nordlöw"
per.nordlow at gmail.com
Tue Nov 19 14:43:09 PST 2013
On Tuesday, 19 November 2013 at 22:42:10 UTC, Nordlöw wrote:
> On Tuesday, 19 November 2013 at 21:14:01 UTC, Brad Anderson
> wrote:
>> On Tuesday, 19 November 2013 at 21:11:42 UTC, Nordlöw wrote:
>>> If I have a hash-table `File[string] _subs` and want to
>>> access its values in a sorted way is there a better than
>>> simply through
>>>
>>>
>>> auto ssubs = new File[_subs.length]; // preallocate sorted
>>> subs
>>> size_t ix = 0;
>>> foreach (sub; _subs) {
>>> ssubs[ix++] = sub; // set new reference to sub
>>> }
>>>
>>> ssubs.sort!((a, b) => (a.timeLastModified >
>>> b.timeLastModified));
>>>
>>> return ssubs;
>
> I just found that I can use the .values property member:
>
> import std.stdio, std.algorithm;
> string[int] x = [0:"b", 1:"a"];
> auto y = x.values.map!("a~a");
> writeln(y);
A bit more compact but probably the same logic (performance)
under the hood, right?
More information about the Digitalmars-d-learn
mailing list