Светомеч
Единственный минус для меня - не такой шустрый
Alexey
Я постоянно сейчас использую zbs для Lua/Perl
Snusmumriken
Это мой гражданский долг
Snusmumriken
Lucky
зебра ннорм
Lucky
пробовал её для инстеда
Lucky
пришлось немного понастраивать её конечно
mva
кстати, а вот в тарантуле местный разлив luarocks'ов научили ставить пакеты в субдиректорию текущей директории (так сказать, попроектно)
mva
а апстримные до этого ещё не допозли?
mva
// а то я вообще по старинке ставлю пакеты глобально через системный пакетный менеджер, сам же и опакечивая нехватающие
Snusmumriken
Ну я типа прописал LUA_PATH/LUA_CPATH. У меня из-за этого иногда бывают проблемы с игрушками (они типа ругаются что внутриигровые скрипты не могут найти себя, или ищутся не там где надо). Компилю либы самостоятельно с tcc (без luarocks). Если выплёвываю "проект" - копипастю либы в директорию. Кстати, можно было бы замутить что-то похожее на npm
Snusmumriken
Я не выхожу из дома
Maxim
просьба относиться к анимации с юмором )
Maxim
Я не выхожу из дома
у меня сегодня спросили "почему ты приезжаешь к 17:00 последнюю неделю?"
Maxim
интересно чем будет заниматься дальше по жизне этот челобака
Maxim
деньги на проезд он не взял, обиделся наверное
Snusmumriken
Особых потерь в скорости не видно (я пока не жаловался, хех). Варнинги - слабовато, там упор несколько на другое. Совместимость - в каком плане? Дефолтные дефайны в зависимости от ОС/архитектуры? По моему, они передраны с gcc, так что тоже должно быть норм.
Snusmumriken
В любом случае, если и требуется какая-то микро-адаптация либы - это действительно "микро-адаптация". Мне не лень доадаптировать, но впадлу таскать между миллиардом компов компилятор на 300мб. Tcc хорошо сочетается с синхронизацией гугл-облака и с "быстрой разработкой", с очень короткими итерациями между фиксом и новым запуском.
Snusmumriken
Ну, за что я люблю скрипты: запустил, вывалилось, пофиксил, снова тут же запустил. Tcc даёт мне примерно то же самое с сишкой.
Dmitry
он ещё и ощутимо быстрее компилит? класс 👍🏻 > Мне не лень доадаптировать вот это пугает)) и под линь, и под винду с tcc компилишь?
Snusmumriken
он ещё и ощутимо быстрее компилит? класс 👍🏻 > Мне не лень доадаптировать вот это пугает)) и под линь, и под винду с tcc компилишь?
> он ещё и ощутимо быстрее компилит? Ну типа скорость компиляции выше раз в десять > под линь, и под винду с tcc компилишь? А то
Snusmumriken
Snusmumriken
Собственно, помнится, tcc встроен в luajit, и частично через него реализован ffi-интерфейс (вываливание мапы новых сишных функций, которые мы грузим с дллок). Что особенно забавно, luajit может "изнутри себя" подцепить уже встроенный в него tcc и делать всякую грязь. Типа чего-то такого: -- ... через ffi мапим tcc-фигню и получаем указатель активного lua_state local code = [[ int lua_newfunc(lua_State *L){ float a = lua_checknumber(L, 1); float b = lua_checknumber(L, 1); lua_pushnumber(L, a + b); return 1; } void export(lua_State *L){ lua_pushfunction(L, lua_newfunc); } ]] tcc_rebuild(code) local func = ffi.C.export(luastate) print(func(1, 2)) --> 3
Snusmumriken
Или так: https://github.com/Playermet/luajit-tcc/blob/master/examples/add_symbol.lua Ну в общем, с tcc можно мутить много грязной грязи. Главное - не делай это в проде без тестов: можно и bsod словить, если постараться.
Saphire
Так TCC он на то и Tiny, что код у него может быть не сильно оптимизирован.
­
сравнение эпичнее получается )
Snusmumriken
(ничего страшного)
Snusmumriken
Последняя версия от 17 декабря 2017, плюс мб отдадут "сообществу". А ещё, стандарты сишки довольно давно не выходили : ) Ей можно быть замороженной в развитии.
Snusmumriken
Нуу.. Да. Собственно, это фиксы стандарта 11 года.
Snusmumriken
Полноценные - не выходили с 11 года, и то, в 95% случаев используется стандарт С99, почти двадцатилетней давности, как самый универсальный-стабильный.
Snusmumriken
В общем, я к тому что, что TCC - достаточно для того, чтобы комфортно себя чувствовать ближайшие лет сорок : )
Snusmumriken
А ещё лучше будет если писать всё бинарно вручную и полировать каждый каждый кусочек каждой фигни, чтобы к моменту своей смерти как раз завершить свой hello-world : ) Вопрос, будет ли разница в результате значительной.
Snusmumriken
А вот это уже зависит от задач : )
Snusmumriken
Значит буду собирать то, где необходимы новые инструкции (и прирост от них будет иметь значение) с gcc.
Snusmumriken
Ну, полка для инструментов большая, каждому найдётся место. Мои основные инструменты - "напильники", по типу чистого luajit-интерпретатора или tcc, но никто не запрещает по необходимости доставать монстров. У меня где-то даже стоит visual studio на 30гб всего подряд, только используется хорошо если десяток раз в год.
Snusmumriken
Время от времени вылезают чуваки, которым надо помогать на c#-basic, и некоторые товарищи выкладывают в гит не сборки для makefile, а как раз visual studio-проекты.
Snusmumriken
Преподы ведущих вузов страны : ) Я тип веду "обучально-репетиторскую" деятельность, а многие вузы-училища учат только basic на VS.
Snusmumriken
Ну, база у народа худо-бедная появляется. Иногда.
Saphire
На первом курсе там вообще ворд
Snusmumriken
Практически все сферы которые тебе нужны. Тут разве что нет настолько удобных библиотек для матана вроде numpy. Так - хоть под десктоп на qt лепим окошки-формочки на луях.
vitaly
опять тишина - пойду поработаю головой
Mikhail
Последний (10й) урок по Черепашке. Наконец-то реальная игра для 2х игроков. Последний, потому что всё. Кончились функции. https://youtu.be/aAfSN21jty0
Lucky
эту фиговину я так и не смог скомпилить
Lucky
ругаются на отсутствие какой-то древней либы
Lucky
по кр. мере .deb
Lucky
а виндовый крашится в вине
Snusmumriken
О, коронщики!
z1pa
👋😁
Anatoliy
Ребята подскажите как в луа правильно описать в операторе if проверку условия по многим параметрам с помощью логических операторов, т.е. у меня примерно такое выражение if (v~="F") and (v~="Q") and (v~="L") and (v~="P") and (v~="T") then
Anatoliy
т.е. проверка на то что v должно быть не равно "F" "Q" "L" "P" и "T"
Anatoliy
но оно не работает, где то что то не так
Viacheslav
Где-то в другом месте ошибка, ага
Anatoliy
Почему то проскакивает мимо последующего тела внутри then
vvzvlad
скобочки в таком виде не обязательны
vvzvlad
но ломать не должны
Anatoliy
Anatoliy
У меня после if еще идет elseif - elseif ftype[1] == "C" then
Anatoliy
и вот его проскакивает
Anatoliy
ftype - список где каждый элемент - один строковый символ
Anatoliy
вот проверяю - если первый элемент ftype будет равен "C" то выполняем дальше внутри тело
Anatoliy
Первый элемент точно "C"
Anatoliy
Странно что за бред
Anatoliy
записал x = (v~="F") and (v~="Q") and (v~="L") and (v~="P") and (v~="T")
Anatoliy
if not x then
Anatoliy
и тело после then пошло выполнятся
vvzvlad
напиши print((v~="F"), (v~="Q"), (v~="L"), (v~="P"), (v~="T"))
vvzvlad
а, хм
Anatoliy
хотя x у меня точно true, проверил, a not x - false
Anatoliy
напиши print((v~="F"), (v~="Q"), (v~="L"), (v~="P"), (v~="T"))
print((v~="F"), (v~="Q"), (v~="L"), (v~="P"), (v~="T")) - true true true true true
Snusmumriken
if not v:find'^[FQLPT]$' then
Snusmumriken
Проверка на символ из набора в квадратных скобках регуляркой. По мне - один из простых/практичных вариантов.
Anatoliy
Да правильно, не освоил я еще луа в совершенстве, есть и более простые методы чем я клепаю😁
Snusmumriken
Со словами из набора уже сложнее: луа не тянет конструкции типа "foo|bar". Ну, по умолчанию. Есть либы pcre, которые так умеют.