This commit is contained in:
blueloveTH 2023-09-04 21:38:48 +08:00
parent 368f228173
commit a23d100265
2 changed files with 21 additions and 11 deletions

View File

@ -1,9 +1,19 @@
def cache(f):
def wrapper(*args):
if not hasattr(f, '__cache__'):
f.__cache__ = {}
key = args
if key not in f.__cache__:
f.__cache__[key] = f(*args)
return f.__cache__[key]
return wrapper
# def cache(f):
# def wrapper(*args):
# if not hasattr(f, '__cache__'):
# f.__cache__ = {}
# key = args
# if key not in f.__cache__:
# f.__cache__[key] = f(*args)
# return f.__cache__[key]
# return wrapper
class cache:
def __init__(self, f):
self.f = f
self.cache = {}
def __call__(self, *args):
if args not in self.cache:
self.cache[args] = self.f(*args)
return self.cache[args]

View File

@ -1,4 +1,4 @@
class Placeholder:
class _Placeholder:
def __init__(self, *args, **kwargs):
pass
def __getitem__(self, *args, **kwargs):
@ -7,7 +7,7 @@ class Placeholder:
return self
_PLACEHOLDER = Placeholder()
_PLACEHOLDER = _Placeholder()
List = _PLACEHOLDER
Dict = _PLACEHOLDER