Multiple dispatcher on arguments values.
Project description
# dispatk
## Description
This function is inspired by singledispatch of Python 3.4+ (PEP 443),
but the dispatch happens on the key extracted fro the arguments values.
```
from dispatk import dispatk
@dispatk(lambda n: int(n))
def fib(n):
return fib(n-1) + fib(n-2)
@fib.register(0)
def _(n):
return 0
@fib.register(1, 2)
def _(n):
return 1
@fib.register(41)
def _(n):
return 165580141
```
*register* accepts one or more keys, so
```
@fib.register(1, 2)
def _(n):
return 1
```
is equivalent to
```
@fib.register(1)
@fib.register(2)
def _(n):
return 1
```
## Description
This function is inspired by singledispatch of Python 3.4+ (PEP 443),
but the dispatch happens on the key extracted fro the arguments values.
```
from dispatk import dispatk
@dispatk(lambda n: int(n))
def fib(n):
return fib(n-1) + fib(n-2)
@fib.register(0)
def _(n):
return 0
@fib.register(1, 2)
def _(n):
return 1
@fib.register(41)
def _(n):
return 165580141
```
*register* accepts one or more keys, so
```
@fib.register(1, 2)
def _(n):
return 1
```
is equivalent to
```
@fib.register(1)
@fib.register(2)
def _(n):
return 1
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size dispatk-0.1-py2.7.egg (3.4 kB) | File type Egg | Python version any | Upload date | Hashes View |