Simen Kjærås:

void foo(t2@{int a, string b}) {
   // here a and b are tuple items and t2 is the whole tuple.
}
auto t1@{x, y} = {10, "hi"};
foo(t1);

I suggest instead this syntax:

auto {x, y} t1 = {10, "hi"};

It's closer to regular D syntax.

But I'd like sometime to tie t1 to that {}, to help my eyes.



{c, $_} = tup;
{c, @} = tup;
{c, @_} = tup;
{c, $$} = tup;
...
{c, {_}} = tup;
{c, $~} = tup;
...
etc.

... has been introduced to match zero or more elements for pattern matching
already. I see no reason not to use ... for this.

Telling the language that there there is exactly one item to match on, that you don't care of, is important. The "..." syntax can't tell apart the case for zero, one, or more items. So "..." can't be enough here.

Bye,
bearophile

Reply via email to