Bill Baxter さんは書きました:
Did go do away with the comma sequencing operator?
I can't find it.  That's the first thing D needs to do.

Otherwise
   a,b = function()
is difficult to make work.

How about redefining the comma operator as a "tuple constructor"
with its precedence unchanged?

In so doing, we may write:

  (int, int) func(int x, int y) { return y, x; }
    // tuple-to-tuple function
    // (int, int) is a type tuple, "int x, int y" a named type tuple,
    // and "y, x" an expression tuple.

  (int, int) t = func(0, 1);
    // t is a type-tuple-typed variable.

  int a, b;
  (a, b) = func(t);
    // (a, b) is an lvalue tuple.

and f(0, 1) beautifully has the same semantics with f((0, 1)) by the tuple flattening.

Reply via email to