-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Description
See the last call where arguments are given value by their names while changing their positions
from multipledispatch import dispatch
@dispatch(int, int)
def add(x, y):
return x + y
@dispatch(object, object)
def add(x, y):
return "%s + %s" % (x, y)
@dispatch(object, object, object)
def add(y, x , z):
return f"{x} and {y} now {z}"
print(add(3,4))
print(add('Me','You'))
#using named arguments
print(add(y='You', x='me'))This would end up with the following errors:
{
"name": "NotImplementedError",
"message": "Could not find signature for add: <>",
"stack": "---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
File ~\\AppData\\Roaming\\Python\\Python311\\site-packages\\multipledispatch\\dispatcher.py:269, in Dispatcher.__call__(self, *args, **kwargs)
268 try:
--> 269 func = self._cache[types]
270 except KeyError:
KeyError: ()
During handling of the above exception, another exception occurred:
NotImplementedError Traceback (most recent call last)
Cell In[45], line 18
16 print(add('Me','You'))
17 #using named arguments
---> 18 print(add(y='You', x='me'))
File ~\\AppData\\Roaming\\Python\\Python311\\site-packages\\multipledispatch\\dispatcher.py:273, in Dispatcher.__call__(self, *args, **kwargs)
271 func = self.dispatch(*types)
272 if not func:
--> 273 raise NotImplementedError(
274 \"Could not find signature for %s: <%s>\"
275 % (self.name, str_signature(types))
276 )
277 self._cache[types] = func
278 try:
NotImplementedError: Could not find signature for add: <>"
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels