Igor
В отдельной таблице слишком геморно, как раз из-за того что её чистить надо, а второй вариант поинтереснее, реализовал бы его, если бы сейчас всё не работало как надо, если будет не лень - переделаю. Спасибо за идею.
Snusmumriken
У луасокета есть модуль auxillary, где есть функции работы с кастомными классами и проверки типов.
https://github.com/diegonehab/luasocket/blob/master/src/auxiliar.c
Igor
Не додумался я что-то в луасокеты заглянуть, тем не менее, я уже сам к такому же решению пришёл, пусть и более короткому, нежели в luasocket, просто не хочется под это дело отдельный модуль писать.
Snusmumriken
Ну типа проверяешь ключ _type в метатаблицах, который ты предварительно заполнил.
Anonymous
Mikhail
Коты, есть что-л похожее на PySnooper для Луашеньки?
https://github.com/cool-RR/PySnooper
Snusmumriken
Ой какая забавная штука.
Snusmumriken
Но у луёв куда менее крутые возможности к интроспекции. Такое можно сделать только если к каждой таблице прицепить прокси с __newindex.
Snusmumriken
Почитай про раздел "прокси таблицы", там есть пример интроспектирующейся таблички.
https://habr.com/ru/post/346892/
Snusmumriken
То есть, грубо говоря, это тот же снупинг, но в пределах одного места.
Andrey
Всем привет, подскажите пожалуйста как завернуть правильный массив с переменным количеством элементов в ... для print через запятую в одну строку ?
Snusmumriken
print( table.concat(arr, ", ") )
Snusmumriken
Ещё можно
print( unpack(arr) )
Но тут лимиты на количество аргументов в функциях, их там около 2к (зависит от интерпретатора), то есть может быть недостаточно. И этим не получается пропечатать запятые. А конкатенация просто трансформирует в строку с заданным разделителем.
Andrey
так он получит один аргумент.
а вот как то так нельзя ?
local a={1,2,3,..4, ...4}
print (a[1], a[2],. ...., a[50])
Snusmumriken
Можно, но зачем?
Snusmumriken
unpack как раз распаковывает массив.
Snusmumriken
local a, b, c, d = unpack({1, 2, 3, 4, 5, 6})
print(a, b, c, d) --> 1 2 3 4
Andrey
а все, увидел
Andrey
спасибо!
Snusmumriken
Но table.concat лучше с экономной точки зрения, плюс ты выбираешь разделитель.
Snusmumriken
local str = table.concat({1, 2, 3, 4, 5, 6}, ", ")
print(str) --> 1, 2, 3, 4, 5, 6
Andrey
а если индекс пропущен, анпак nil поставит или проигнорирует ?
Snusmumriken
Не помню, ща скажу
Snusmumriken
Не, nil автоматом считается за конец массива.
Snusmumriken
Поэтому для обхода массивов с дырками, ты берёшь pairs.
Snusmumriken
А зачем тебе дырки? table.remove их не оставляет.
Andrey
короче есть массив двумерный, и в нем есть пропущенные индексы
хочу выводить таблицу print друг под другом в строгом сооветствии с x, y
при этом не хочу извращаться
Mark ☢️
Andrey
:) да, я в курсе
Snusmumriken
Надо запилить мем
Snusmumriken
Snusmumriken
(ну и дыра в массиве)
Mark ☢️
Snusmumriken
Моя венда, что хочу то и делаю, отстань
Snusmumriken
Про это даже мем запиливать не буду
Andrey
понял, спасибо!
Snusmumriken
Это два варианта, на выбор
Andrey
Первый больше подходит. Спасибо:)
Mikhail
Egor
Доброе утро, подскажите (если не сложно примером), как на луа (да вообще на любом ЯП) вычислить координаты проекции точки на плоскость в 3D? А то все что находил, это работа с уравнением плоскости. А у меня всего лишь есть координаты (из них надо построить плоскость) и координаты точки
fgntfg
Это больше вопрос не про программирование, а про геометрию.
Ищи как помирить нормаль к плоскости.
Snusmumriken
Умножить вектор точки на матрицу преобразования поверхности, так это делают видеокарты.
Snusmumriken
Если тебя интересует прям стереометрия, то это простая нормаль точки к плоскости.
http://mathprofi.ru/uravnenie_ploskosti.html#tn
Egor
Я составил уравнение плоскости.
Egor
http://mathprofi.ru/uravnenie_ploskosti.html#t2v по такой формуле
Highly Likely
@Snusmumriken закрепи плиз правила, не могу найти
Snusmumriken
Запинил
Дмитрий
Приветствую госпада луашники
Snusmumriken
Йоу
fgntfg
👋
vvzvlad
JIT в хату, господа луашники
Pavel
Блин....... чет у меня печет от тюремноо сленга...
Это конечно только моя проблема...
Mark ☢️
Mark ☢️
забирай стикеры, пользуйся
vvzvlad
Меня тоже бесит почти все. Вечер в хату — счастливое исключение.
Snusmumriken
А снус завёл маленькую кошечку. Теперь у снуса есть маленькая кошечка. Или наоборот.
Andrey
Всем привет. Вопрос не совсем про lua. Короче дома стоит линукс и там все замечательно из роков ставится. На работе винда но иногда нужно программить. Где почитать как развернуть и как делать инсталлы под виндой что бы без гемороя и пердежей ?
Mark ☢️
Snusmumriken
Там основной затык — пути в PATH, LUA_PATH и LUA_CPATH, и выставление канпилятора в конфиге.
Andrey
Понял спасибо. Т.е. программки которая бы сразу среду раскатала по кнопке нет. Ну ок повожусь с путями.
Andrey
Марку - хорошего осеннегно настроения!
🐅🤦♂️
Andrey
О спасибо!
Mark ☢️
Snusmumriken
Ну, её надо ещё поставить : )
Gaisin
там есть debian еще, и ставиться щас вроде все в 2-клика
Alxius
Alxius R, [09.09.19 16:31]
сделал я для себя персональную система билда. где из одного .love файла компилится сразу 2 архива - билд под линукс и билд под windows надо кому ни будь нет может опубликовать. технически если кто поможет с debug key для андроида и Startdev улучшу скрипт и будет автоматически билд для андроида Startdevом делать
Alxius R, [09.09.19 16:31]
все компилиться по одной кнопке из под линукс.
Alxius
правда может лучше на lua было написать ну уж раз написал на баше.
Alxius
а опять. её уже 50 раз "инегрировали." как там Unigine Superposition сколько фпс дает если из виндовой убунты запустить?
Snusmumriken
Mark ☢️