Roy
Roy
Roy
Помянем
Highly Likely
А вообще, преждевременная оптимизация — это путь в преждевременную оптимизацию и никуда больше
fgntfg
Факт.
Tony
Roy
Хотя код на нем быстрее чем на плюсах можно написать
Roy
Большой плюс в том, что в Си используют не string, а char с фиксированными размерами
Roy
За счет этого избегаются аллокации во многих местах
Roy
да и POD типы лучше оптимизируются
Highly Likely
Highly Likely
@Snusmumriken напиши бота который будет пинать людей за попытку написать ЛУА
Highly Likely
А то мне лень и некогда.
mva
Tony
Lua.
Лишний шифт, извиняюсь
mva
Highly Likely
Если Снус это Lawful Good, то мы с Вадимом, видимо, Lawful Evil
Highly Likely
Подразумевая то, что самые душные админы в чате...
mva
а fails - true neutral 😃
Иван
А возможно ли свой список сделать используя Lua API?
Иван
(вектор как в плюсах)
Roy
Еще один вопрос есть по поводу корректного использования local с таблицами
Roy
Roy
Вот допустим, я изначально PlayerInfo присвоил CI.Players[PID]
Но при этом, ниже есть условие, что если PlayerInfo == nil, то мы инициализируем CI.Players[PID] таблицу, будет ли у меня после этой инициализации PlayerInfo указывать уже не на nil, а на инициализированный объект или нет и нужно переприсвоить?
Highly Likely
Highly Likely
Тут кроется какое-то фундаментальное непонимание сути переменных и того как они работают (видимо, в общей концепции в том числе)
Roy
А в луа можно что-то типа такого?
Highly Likely
И какое-то нежелание пойти читать доки
Roy
Highly Likely
В луа - да
Судя по всему оно фундаментальное, Луа тут просто симптом
Highly Likely
Highly Likely
Это не перл :-)
Highly Likely
Roy
А мы тут гугол? :)
Нет, ну вам же интересно бывает на вопросы отвечать или они слишком тупые и простые чтоб вызывать интерес?
Highly Likely
Highly Likely
Я рад ответить на 1-2-3 таких вопроса, но не на 10. Я, в конце концов, не интерпретатор :-)
Roy
Честно говоря, я вообще не фанат читать, люблю посмотреть семинары, видосы, но читать еще и инглиш - терпения не хватает, хотя луа по докам маленький.
Я больше кодить люблю (практику)
mva
Roy
mva
да, называется СДВГ
Roy
Roy
да, называется СДВГ
Да я и так купил недавно таблетки для мозгов, а то в последнее время какой то потерянный стал
Roy
Забывать начал уже
Highly Likely
Чаще это просто отсутствие дисциплины/мотивации/концентрации
Highly Likely
Мне тоже периодами сложно долго и много читать. А другими — норм. И обычно коррелирует с усталостью/тревожностью
Highly Likely
Первое предупреждение за мат.
Второе предупреждение за самолечение ноотропами, критически не одобряю.
Roy
Highly Likely
Дальнейшее обсуждение психоактивных веществ будет караться баном.
fgntfg
Snusmumriken
Когда смысл донесён — нет разницы. Просто считай что это капсом написали.
Highly Likely
Highly Likely
Иван
Карочи, абстрагируешь всю байтоёбскую ерунду на сишной стороне, логику делаешь на луях, развлекаешься.
Луа с сишкой работает очень прямо и приятно. А то с двумя метрами оперативки особо не разгуляешься, для чисто луёвых вариантов хочется хотя бы 16.
Мне кажется, можно разгуляться с двумя метрами...
У нас уже написанные игры на языке Pawn вообще не подразумевали динамическую аллокацию памяти. А в итоге, я провёл бенч, который показал, что LuaJIT без JIT довольно мало кушает.
wasm3 мы ещё хотели затащить. Хз как они его затащат, но то, что сейчас есть на wasm - ужас
Иван
Иван
Roy
Вопросик по поводу памяти есть.
Если у нас есть таблица, то для ее освобождения надо дать ей nil, так?
А если у это таблицы есть объект с несколькими полями, то установка nil на эти поля как то влияет на память?
local table = {}
table = nil // освободит память когда сборщик мусора пройдется?
Roy
другой пример
local tables = { name = "Vasya", age = 21 }
tables.name = nil
Roy
Влияет ли как то nil в обеих случаях на память и сборщик мусора?
Aydar
Roy
Roy
Иван
Roy
Иван
if (lua_getglobal(L, LUA_ABILIBNAME)) {
lua_callfield(L, "run", 0, 0);
//...
lua_pop(L, 1); // --> правильно ли?
} else {
log_e(LUA_ABILIBNAME" not loaded");
}
Иван
я pop-аю LUA_ABILIBNAME
Иван
> Pops n elements from the stack.
да, всё так
Иван
а внутри Cи функции попать аргументы перед return не надо?
Aydar
а внутри Cи функции попать аргументы перед return не надо?
Можно чистить а можно не чистить, после return'a Lua автоматически чистит стэк.
"From the point of view of C, a C function gets as its single argument the Lua state and returns (in C) an integer with the number of values it is returning (in Lua). Therefore, the function does not need to clear the stack before pushing its results. After it returns, Lua automatically removes whatever is in the stack below the results."
Snusmumriken
При недостатке оперативки лучше чистить, но наверное не в конце каждой функции а каждого тика.