On 04/20/2012 11:50 AM, Arne wrote:
On Friday, 20 April 2012 at 11:23:49 UTC, Steven Schveighoffer wrote:
On Fri, 20 Apr 2012 00:06:41 -0400, H. S. Teoh
<[email protected]> wrote:


The only complaint is that I couldn't write auto[string] dgs and have
the compiler auto-infer the delegate type. :-)

Does this not work?

auto dgs = ...

Also, it doesn't look like that needs to be in the inner loop. Each
time you specify an AA literal, it allocates a new one. So you are
allocating another AA literal per line.

-Steve

auto dgs =
[
"name": (string value) {d.name = value; },
"phone": (string value) => cast(void)(d.phone = value),
"age": (string value) => cast(void)(d.age = value.to!int()),
];

This works... is there a better way, to avoid cast?


The => syntax replaces:

- parentheses around the parameter if there is only one parameter
- curly brackets
- the return keyword
- the semicolon at the end of the return statement

  http://dlang.org/expression.html#Lambda

So => is most suitable when there is a single return statement.

Ali

Reply via email to