I understand that their examples are trivial, and the project's parent is a more robust type-checking function, but what real world cases would benefit from this @dispatch decorator? My first guess was that it might do multiple-matching but that seems to be not the case ("it picks the right one") so I can't make Fizz-Buzz with it. Is this a case of a branch of an earlier Pythonic style being superseded by new python built-ins?
references:
plum dispatch
real 0m0.078s user 0m0.066s sys 0m0.013s
match-case
real 0m0.015s user 0m0.008s sys 0m0.007s
===
def f(x):
match type(x):
case 'str':
return 'string'
case 'int':
return 'integer'
===
from plum import dispatch
@dispatch
def f(x: str):
return "string"
@dispatch
def f(x: int):
return "integer"
===
test = [1, 7, '5', 'bob', 1564813548, "Four score and seven years ago",
456, '879', "I can't understand why my fingers messed that up",
852, 1234567890, "More of the same", "Spam spam spam", 1, 1, 2,
3, 5, 8, 13, 21, 33, 54, 87, "Fizz", "Buzz"]
for one in test:
f(one)