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_ what is wrong with having an iife that is a procedure can use again?
re: shouting
@aescling @vaporeon_ personally what i would do is
def iife(func):
func()
return func
@iife
my_func():
print('my_func')
So that the original function still exists
re: shouting
@aescling @vaporeon_ whatever the return value of the decorator is becomes the value of the function you decorated
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
@aescling @vaporeon_ why are there parenthesis after @lambda _:_()?
re: shouting
@aescling @vaporeon_ what the fuck
re: shouting
@aescling @vaporeon_ how would I do it in python?
@maple i mean, it does look cool though
re: JavaScript
@vaporeon_ the vaporeon will always have C brain (sea brain?)
@vaporeon_ also node, npm, eslint, typescript, the horrible tendency to recklessly add large numbers of tiny packages to projects instead of copy-pasting simple code, and transpilation
also eval, the Function constructor, var hoisting, function hoisting
re: JavaScript
@vaporeon_ it's a neat little syntax that languages have been introducing lately to make string interpolation simpler.
Instead of String(x) + "-" + String(y) you do ${x}-{y} (I can't figure out how to add the surrounding backticks in markdown so just pretend they are there)
Python has a similar thing called "fstrings". In python it would look like f"{x}-{y}"
There are some interesting other features of the backtick strings in JavaScript that I don't use that I won't describe here.
re: shouting
@vaporeon_ reported.
re: shouting
@vaporeon_ IT'S BEAUTIFUL 🥹
/**
* @param {character[][]} grid
* @return {number}
*/
var numIslands = function(grid) {
const seen = new Set;
const R = grid.length, C = grid[0].length;
let count = 0;
for (let x = 0; x < R; ++x)
for (let y = 0; y < C; ++y)
if (!seen.has(`${x}-${y}`) && grid[x][y] === '1')
(function crawl(grid, x, y, seen) {
if (x < 0 || x >= R || y < 0 || y >= C) return;
const key = `${x}-${y}`;
if (seen.has(key)) return;
seen.add(key);
if (grid[x][y] === '0') return;
crawl(grid, x + 1, y, seen);
crawl(grid, x, y + 1, seen);
crawl(grid, x - 1, y, seen);
crawl(grid, x, y - 1, seen);
})(grid, x, y, seen), count++;
return count;
};
re: shouting
@vaporeon_ a special javascript syntax that lets you declare and execute a function simultaneously :DDDDD
@coriander still love battlefield 1 tho
@coriander battlefield games are Clusterfukcs
@vaporeon_ It suddenly occurs to me that I, too, do not understand how refrigerators work
kept afloat by big ideas.
you can call me Caleb or Clodsire. i also go by clodboy and catwin. i am not picky about names (unless its one amy made up)
videogame enjoyer. mathematics hobbyist and recovering physicist. software engineer. professional wonk. prophet of The Truth. the walking embodiment of "not diagnosed, but somethings wrong". i like animals that wear cowboy hats.
number of fat cock awards received: 56
pfp is by @The_T
header is by @vaporeon_
"i regret ever allowing him here" ~aescling
"oh you're one of those weird movie likers" ~Ti
"i know your taste in movies well enough to discount your opinion" ~globin
"caleb is the only person on this websites who truly understands what the report button is for: 'i don't like this post'" ~holly
30+
straight
he/him