DIP 1019--Named Arguments Lite--Community Review Round 1
12345swordy
alexanderheistermann at gmail.com
Sun Feb 17 20:07:09 UTC 2019
On Sunday, 17 February 2019 at 19:52:14 UTC, JN wrote:
> On Sunday, 17 February 2019 at 18:57:26 UTC, 12345swordy wrote:
>> Regardless, my objections still stand regarding @named
>> attribute and I can not tell other people with a straight face
>> that in order to use named parameters they have to use @named
>> attribute without expecting them to look at me like "Are you
>> insane?"
>>
>> I do not want D design to be worst, because of the "avoiding
>> breaking code at all cost" mentality. That is what C++ is for.
>
> While I still think @named attribute feels weird, I know at
> least one language that requires opt-in for named arguments:
> Dart. An example is here: https://stackoverflow.com/a/13264231
> . In Dart, you can mark arguments as named:
>
> getHttpUrl(String server, String path, {int port: 80})
>
> and then call it:
>
> getHttpUrl('example.com', '/index.html', port: 8080);
>
> and you MUST use the name if it's a named argument.
>
> Also, mixing optional arguments and named arguments is just not
> allowed, so it solves the issue of how to deal with such
> ambiguous cases:
>
> thisFunctionWontWork(String foo, [String positonal], {String
> named})
Even though that is interesting, what is being currently
presented is optional and not a requirement when the user call
functions that are marked @Named. That quite different from Dart.
-Alex
More information about the Digitalmars-d
mailing list