re: shouting
@wallhackio What is IIFE?
re: shouting
@vaporeon_ a special javascript syntax that lets you declare and execute a function simultaneously :DDDDD
re: shouting
@wallhackio @vaporeon_ i mean, any language that has lambdas can do that really
re: shouting
@aescling @vaporeon_ how would I do it in python?
re: shouting
@wallhackio @vaporeon_ apparently you cannot because python sucks ass
re: shouting
@wallhackio @vaporeon_ HOWEVER:
@lambda _:_()
def _some_iife():
...
does immediately get applied, somehow. apparently. i have not tested this
re: shouting
@aescling @vaporeon_ what the fuck
re: shouting
@aescling @vaporeon_ why are there parenthesis after @lambda _:_()
?
re: shouting
re: shouting
@aescling @vaporeon_ oh because it's calling _some_iffe
the pattern
my_func = decorator(my_func)
where you replace a function with a the return value of another function, is equivalent to
@decorator
def my_func():
print('my_func')
So we could define an decorator iife
:
def iife(x):
x()
And use it like so:
@iife
def my_func():
print('my_func')
This is fully equivalent to the disgusting evil hack you just shared.
re: shouting
@wallhackio @vaporeon_ holy shit it DOES
re: shouting
@wallhackio @vaporeon_ that defeats the purrpuss of an IIFE
re: shouting
@aescling @vaporeon_ what is wrong with having an iife that is a procedure can use again?
re: shouting
@wallhackio @vaporeon_ IIFEs do not work that way in javascript
re: shouting
@wallhackio @vaporeon_ the entire point of an IIFE is that you are NOT defining a function meant to be actually reused!
re: shouting
@aescling @vaporeon_ the python syntax forces a new variable to be added to the current scope, something the javascript IIFEs do not do
there is no need to perfectly replicate javascript IIFE behavior because it is impossible
re: shouting
@aescling @vaporeon_ personally what i would do is
So that the original function still exists