[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Unpack Operator
- From: Sean Conner <sean@...>
- Date: Sat, 10 Feb 2018 17:01:07 -0500
It was thus said that the Great Paige DePol once stated:
> 
> I wonder then really... why even have positional vs named arguments? I really
> like how they've laid out how it works, but practical examples of the system
> at work makes me think that just named arguments would be nicer overall.
  That's were I was going with my examples.  Perhaps a more concrete example
will help.  In C, you have structures:
	struct foo
	{
	  int x;
	  int y;
	  int z;
	  int a;
	  int b;
	  int c;
	};
  And you can initialize them.  Default, it follows a position notation,
much like function calls:
	struct foo f1 = { 1 , 2 , 3 , 4 , 5 , 6 };
But in C99, you can designate the fields being initialized, so this now
becomes something like named positions:
	struct foo f2 = { .a = 4 , .b = 5 , .c = 6 , .z = 3 , .y = 2 , .x = 1 };
Furthermore, you can mix the two:
	struct foo f3 = { 1 , 2 , 3 , .c = 6 , .b = 5 , .a = 4 };
I don't see why this can't work for function calls as well.
  -spc