automate tuple creation

forkit forkit at gmail.com
Fri Jan 21 23:24:58 UTC 2022


On Friday, 21 January 2022 at 22:25:32 UTC, forkit wrote:
>

I really like how alias and mixin can simplify my code even 
further:

//---

int[][int][] CreateDataSet
(const(int) recordsNeeded, const(int) valuesPerRecord)
{
     int[][int][] records;
     records.reserve(recordsNeeded);

     const int iotaStartNum = 100_000_001;
     alias iotaValues = Alias!"iota(iotaStartNum, iotaStartNum + 
recordsNeeded).enumerate";
     alias recordValues = 
Alias!"iota(valuesPerRecord).map!(valuesPerRecord => 
cast(int)rnd.dice(0.6, 1.4)).array";

     foreach(i, id; mixin(iotaValues))
     {
         records ~= [ id: mixin(recordValues) ];
     }

     return records;
}

//---



More information about the Digitalmars-d-learn mailing list