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
Массив дырок это порнхаб. Простите
Ну и иди туда, ищи свою любимую. А у нас тут свои особые nil-дырки, не мешай.
Snusmumriken
Надо запилить мем
Snusmumriken
Snusmumriken
(ну и дыра в массиве)
Mark ☢️
Фу. Под виндой
Snusmumriken
Моя венда, что хочу то и делаю, отстань
Snusmumriken
Про это даже мем запиливать не буду
Snusmumriken
короче есть массив двумерный, и в нем есть пропущенные индексы хочу выводить таблицу print друг под другом в строгом сооветствии с x, y при этом не хочу извращаться
1. Заполняй пропущенные участки пустышками 2. С помощью pairs определи мин-максы сторон массива и пройдись обычным циклом от минимумов к максимумам, указывая что "тут nil" когда тут nil.
Andrey
понял, спасибо!
Snusmumriken
Это два варианта, на выбор
Andrey
Первый больше подходит. Спасибо:)
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 ☢️
забирай стикеры, пользуйся
Pavel
забирай стикеры, пользуйся
прощелкал. отвратительные
vvzvlad
Меня тоже бесит почти все. Вечер в хату — счастливое исключение.
Snusmumriken
А снус завёл маленькую кошечку. Теперь у снуса есть маленькая кошечка. Или наоборот.
Andrey
Всем привет. Вопрос не совсем про lua. Короче дома стоит линукс и там все замечательно из роков ставится. На работе винда но иногда нужно программить. Где почитать как развернуть и как делать инсталлы под виндой что бы без гемороя и пердежей ?
Snusmumriken
Там основной затык — пути в PATH, LUA_PATH и LUA_CPATH, и выставление канпилятора в конфиге.
Andrey
Понял спасибо. Т.е. программки которая бы сразу среду раскатала по кнопке нет. Ну ок повожусь с путями.
Andrey
Марку - хорошего осеннегно настроения!
Snusmumriken
Понял спасибо. Т.е. программки которая бы сразу среду раскатала по кнопке нет. Ну ок повожусь с путями.
Луарокс не выставляет пути, но говорит что их надо выставить. И сам как бы обнаруживает компиляторы и пути до луёв и инклудов, но так как с вендой не поставляется ни одного компилятора, его стоит заранее поставить, вижл студио или mingw.
Leon174
Понял спасибо. Т.е. программки которая бы сразу среду раскатала по кнопке нет. Ну ок повожусь с путями.
Тоже всем привет. Ну, не прям одной кнопкой, но есть luapower.com (есть в закрепленном выше сообщении) и есть ulua.io. Пользуюсь ulua, нравится.
Andrey
О спасибо!
Snusmumriken
Ну, её надо ещё поставить : )
🐅🤦‍♂️
в 10-чке же есть встроенная убунта
Это что такое там есть? Пару слов
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 было написать ну уж раз написал на баше.
Mark ☢️
Alxius
а опять. её уже 50 раз "инегрировали." как там Unigine Superposition сколько фпс дает если из виндовой убунты запустить?
🐅🤦‍♂️
https://habr.com/ru/post/280560/
Пока ссылка открывается - Линукс ядро игтегрировали или именно Убунту?
Snusmumriken
а опять. её уже 50 раз "инегрировали." как там Unigine Superposition сколько фпс дает если из виндовой убунты запустить?
Тут суть не в "фпс", а в наличии инструментов, которые работают с "приемлемой скоростью". Линуксовые вызовы обёрнуты в винапи и работают чуть медленнее, но для р а з р а б о т к и, этого более чем достаточно. На полной скорости будет на линексовом проде, но твоя рабочая станция — не прод.