On Monday, 24 December 2018 at 11:18:44 UTC, Ron Tarrant wrote:
I found a mention that in the definition of a delegate, a function parameter and its type could be replaced by an underscore:

myTestRig.addOnDestroy(delegate void(Widget w) { quitApp(); } );

became:

myTestRig.addOnDestroy(delegate void(_) { quitApp(); } );

I was trying to find some further documentation on this, but I'm coming up empty.

Questions:

1) What is this called (substituting an underscore in this manner)?

2) Where can a learn more about it?

The underscore is just an identifier but nothing special, it could be any valid identifier like "ldkhfksdkdsg".

```
void ggg();

void takedelegate(void delegate(int) dlg);

void foo() {
    takedelegate( delegate void(asdadasdeg) { ggg(); } );
}
```
The type of the argument is deduced from the function the delegate is passed to.

-Johan

Reply via email to