
31 May
2006
31 May
'06
12:57 p.m.
Richard Crossley wrote:
Hi,
With the parameter library is there any way to stop misuse as in;
func(/*a = */1,b = 2); Fine, a is positional, b is named.
func(a = 1,2);
Happily compiles but probably isn't what was intended, the default value is used for the second parameter.
Are you sure? func(a = 1, 2) is the equivalent of func(1,2) or func(a = 1, b = 2)
Should positional arguments be allowed to occur after named arguments?
We considered not allowing it, but came to the conclusion that there would be little point in doing so since the binding rules are pretty simple; positional argument are bound by their absolute position. We do recommend that named parameters trail positional ones though. -- Daniel Wallin