Size: a a a

2019 November 01

S

Snusmumriken in pro.lua
Ну и не забудь добавить local перез function sum, тогда оно не засрёт глобалспейс. Если ты сделал её рекурсивной, то
local sum
function sum(...) return sum(select(2, ...)) end
С рекурсивными локальными функциями приходится объявлять их имя заранее: код локальной функции генерируется перед присвоением переменной.

Ещё луа не оптимизирует хвостовую рекурсию, поэтому можно получить огромный колл-стек и его переполнение.
источник

S

Snusmumriken in pro.lua
К чему это я.
Дедушкины способы работают. Затейливые самовыражения, в подавляющем числе случаев, не нужны.
источник

D

Dmitriy in pro.lua
а local function sum (x, ...) и
local sum
function sum (x, ...)
различаются по поведению?
источник

S

Snusmumriken in pro.lua
Не а
источник

S

Snusmumriken in pro.lua
Но во втором случае, эта функция получает возможность вызывать сама себя.
источник

D

Dmitriy in pro.lua
в первом варианте тоже.
источник

S

Snusmumriken in pro.lua
Нет.
источник

D

Dmitriy in pro.lua
ну если оно сейчас у меня работает...
источник

D

Dmitriy in pro.lua
а, понял, это сахар, прочитал у Иерусалимского
источник

S

Snusmumriken in pro.lua
Оно работает, но не на всех версиях, помнится.
источник

D

Dmitriy in pro.lua
When Lua expands its syntactic sugar for local functions, it does not use the naive definition. Instead, a definition like local function foo (params)  body  end expands to local foo; foo = function (params)  body  end
источник

I

Igor725 in pro.lua
Извините, конечно, за оффтоп, но недавно мы тут поднимали тему о прожорливости веба и в свете релиза обновлённого "суперкрутого" раздела "Библиотека" в стиме, я просто не могу промолчать и не показать это чудо здеся.
http://igvx.ru/2019-11-01_18-02-51.mp4
источник

I

Igor725 in pro.lua
источник

I

Igor725 in pro.lua
Тележка ссылку парсить с видео чёт не захотела, ну ладно
источник

S

Snusmumriken in pro.lua
Есть такое дело ))
источник

S

Snusmumriken in pro.lua
Причём на графиках заметно, что сначала размечает дикое количество памяти, а потом подчищает. Мб заготовки под новости-скриншоты-комментарии, а потом обнаруживает что их ноль, и чистит.
источник

I

Igor725 in pro.lua
Вот он, веб 21го века - проскроллил пару пикселей и тем самым спровоцировал страницу на резервирование лишних пятиста мегов....
источник

S

Snusmumriken in pro.lua
Ну тут, кстати, гипотетически может быть ок. Ты ведь знаешь как работает рендер странички?
источник

S

Snusmumriken in pro.lua
источник

S

Snusmumriken in pro.lua
Типа, на самом деле страничка рисует немножко больше чем видно на экране, чтобы в случае если ты решил куда-то промотать — оно уже было нарисовано. Да и с каким-то динамическим контентом, надо перерисовывать только те тайлики, в которых что-то происходило.
источник