@Kagamin: On Sunday, 14 June 2020 at 07:16:18 UTC, Kagamin wrote:
parameters[param]=Parameter();
I did not realize that you can use a type on the RHS of an assignment, but it is clear and succinct. This syntax will be very useful going forward -- thank you.
@Stanislav B: On Sunday, 14 June 2020 at 09:34:08 UTC, Stanislav Blinov wrote:
string[] keys = [ "huh", "buh", "hrm", "pff", "err", "ack", "ugh", /* ... */ "zzz" ]; foreach (k; keys) parameters.require(k);
This solves the problem of initializing the keys perfectly -- thank you. There does not appear to be a way to loop over the elements of an enum, so a string array does make the most sense as the initial container for the keys.
I should add that your explanation for using `require` to perform the init is much more clear than the documentation!
The `require` function, when called only with key, will insert default (.init) value for that key.
I am just starting to learn D, and am missing so many pieces of the puzzle that I'm not yet able to always put "two and two" together myself. This kind of help really goes a long way. Again, my thanks to you both.
Denis