Mam dekoratora jak poniżej.
def myDecorator(test_func):
return callSomeWrapper(test_func)
def callSomeWrapper(test_func):
return test_func
@myDecorator
def someFunc():
print 'hello'
Chcę ulepszyć ten dekorator, aby zaakceptował inny argument, jak poniżej
def myDecorator(test_func,logIt):
if logIt:
print "Calling Function: " + test_func.__name__
return callSomeWrapper(test_func)
@myDecorator(False)
def someFunc():
print 'Hello'
Ale ten kod daje błąd,
TypeError: myDecorator () przyjmuje dokładnie 2 argumenty (podany 1)
Dlaczego funkcja nie jest przekazywana automatycznie? Jak jawnie przekazać tę funkcję do funkcji dekoratora?