Named arguments
    jmh530 
    john.michael.hall at gmail.com
       
    Tue Oct 24 23:27:02 UTC 2017
    
    
  
On Tuesday, 24 October 2017 at 20:36:00 UTC, H. S. Teoh wrote:
> [snip]
> it would be more self-documenting if written as:
>
> 	// (Hypothetical syntax)
> 	auto x = foo(width: 1, height: 2, userId: 3);
>
What about something that's a little uglier, but could be done 
with D magic?
For instance:
auto x = foo!(["width", "height", "userId"])(1, 2, 3)
So for instance, you could have some original function, like below
@namedParam("width", "height", "userId") auto x = _foo(int width, 
int height, UserId userId) { }
and then some D magic inserts a new function that is like
auto foo(string[] names)(...) { }
and then processes names, mixing in the correct named/typed 
variables and then returning a call to _foo with those variables.
    
    
More information about the Digitalmars-d
mailing list