[PEAK] Re: generic functions and keyword arguments
Vladimir Iliev
vladimir.iliev at gmail.com
Mon Aug 4 02:57:32 EDT 2008
Phillip J. Eby написа:
> At 05:14 PM 8/2/2008 +0300, Vladimir Iliev wrote:
>> hi, can i somehow use keyword arguments with peak.rules based generic
>> functions ?
>
> Arguments passed by keyword are treated the same as arguments passed by
> position, so e.g.:
>
> def a(b, c):
> ...
>
> can be called with "a(c=1,b=2)". If you mean, can you do this:
>
>
> def a(**kw):
>
> and then test for whether the caller passed in b=2, you would use rules
> like:
>
> @when(a, "'b' in kw and kw['b']==2")
>
> in order to dispatch on arguments that are not part of the generic
> function's "def" signature.
no, i just want to pass arguments that are not part of the signature
through the gf.
if i do this:
@abstract
def func(x, **k):
pass
@when(func, (str,))
def func_str(x, **k):
print 'str'
func('x', y=5)
i'm getting TypeError: callback() got an unexpected keyword argument 'y'
More information about the PEAK
mailing list