Another task
Simen kjaeraas
simen.kjaras at gmail.com
Wed Jan 19 17:48:32 PST 2011
On Thu, 20 Jan 2011 02:40:29 +0100, bearophile <bearophileHUGS at lycos.com>
wrote:
> Simen kjaeraas:
>
>> Why use map()? The correct solution for this looks like so:
>>
>>
>> import std.range;
>>
>> void main( ) {
>> auto aa = [1:"a", 2:"b", 3:"c"];
>> auto result = zip( aa.keys, aa.values );
>> }
>
> That result is not the requested one:
> [(10,"aa"), (30,"bb"), (50,"cc")]
> And that result is not generated by lazily as the task asks (keys and
> values return true arrays).
Soz, I read a bit too fast. It /is/ lazy, though perhaps not the way
you meant. This returns the right thing, but does not *read* lazily
from the AA, a task I am unsure how, if at all possible, one should
perform.
import std.algorithm;
import std.range;
void main( ) {
auto aa = [1:"a", 2:"b", 3:"c"];
auto result = map!"tuple(a[0]*10,a[1]~a[1])"( zip( aa.keys, aa.values
) );
}
--
Simen
More information about the Digitalmars-d
mailing list