Snusmumriken
Если очень извратиться - можно и питонобиндинг прикрутить, но луа быстрее/круче в геймдеве.
slair
:) сам рассказал
slair
вот поэтому я тут
slair
а если бы читал, там нет биндинга на питон
Snusmumriken
Прикрутить == написать. Ну типа расширить. Но urho юзает tolua, а аналога для питона я чот не видел, извращения.
slair
только луа и ангельскрипт
Snusmumriken
Чего мутишь-то? Игрушки какие?
slair
а какое твоё дело?
Snusmumriken
Ну, знаешь? Очень редко, где-то один на миллиард человек, но встречаются люди у которых опыта в какой-то области немножко больше чем у тебя, и, в это сложно поверить, но они уже могли зацепить один-два подводных камня в данной области, и забуриться на 0.0001-0.0002нм глубже чем ты и даже(!) приобрести какой-то опыт, которого у тебя нет.
Snusmumriken
А если ты расскажешь про свою тему - эти люди даже могут поделиться своим совершенно бесполезным для тебя опытом, потому что ты сам его приобретёшь за две наносекунды, фи.
Snusmumriken
А, точно
Lucky
толуа - фу
Lucky
я её пробовал шатать в https://springrts.com/
Lucky
какое-то извращение
Aleksandt
Люди приходят в замок!
Anonymous
я пришел делать читы для сампа
Anonymous
сначала хотел на с++, но решил выбрать способ побыстрее
Слава
Молодец!
Snusmumriken
Построить кучу церквей и пивоварен, и врубить нологи на максимум. Всегда так делал. Церкви - вообще имба, при единоразовом вложении - приносят чистый доход с нологов.
Саша
Нашу память попил долгоносик милорд
Snusmumriken
Обнаружил неприятное поведение coroutine.wrap, там слишком короткий трейсбек, учитывающий только ошибочную строку и точку вызова корутины. Если надо отладить код на корутинах - всё очень плохо : ) Надо проверить на lua 5.3 UPD: на 5.3 то же самое, хм. UPD2: если использовать coroutime.create/coroutine.resume - всё то же самое.
Snusmumriken
Надо бы накалякать модификацию coroutine.wrap, которая заворачивает функцию в xpcall с трейсбеком нормальным.
Саша
размер не главное
Snusmumriken
Размер трейсбека - главное при отладке : )
vitaly
размер пресса главное в конце месяца
Co(n)stantine👨‍🔬
Co(n)stantine👨‍🔬
или они не принимают
Snusmumriken
Они это примут в lua 5.4/5.5, а ей я буду пользоваться ещё не скоро :< Ну или придётся разбивать lua на две ветки, как питон 2/3 : )
Snusmumriken
Потому что luajit (5.1) тащит.
Co(n)stantine👨‍🔬
несовместимость
Co(n)stantine👨‍🔬
😞
Snusmumriken
Скорее "неразвиваемость", потому что стандарт уже утверждён.
Co(n)stantine👨‍🔬
ну почему все не как у java люую версию запусти на новой jvm и будет работат
Co(n)stantine👨‍🔬
печаль
Snusmumriken
Эмм. Как правило, код который написан для 5.1 будет работать на 5.2/5.3, за редким исключением (использование нескольких deprecated-фиговин или недокументированных функций типа newproxy). Если не использует недокументированной фигни.
Snusmumriken
Ну прости, ты не можешь сказать: "а впилите мне в 5.1 такую-то фичу, и во всех последующих - тоже исправьте", эта версия уже завершена. Ну и я не понимаю, чего ты говоришь про "несовместимость" : )
Mark ☢️
И в луажите (нгинкс) тоже
Snusmumriken
Не знаю что конкретно используется в опенврт, но у PUC-5.1 более чистая работа с памятью, помнится, и меньше всякой ерунды за кадром. Если жыт - то и так всё понятно.
Anatoliy
Всем привет, ребяты подскажите как искать в строке слово чтобы оно искалось вне зависимости от его регистра, т.е. есть строка "Набор слов" где слово "слово" может быть записано и как Слово и как СЛОВО, вот можно ли искать его по какому то одному шаблону? с помощью string.match например
Mark ☢️
а так — регекспами, да
Anatoliy
а так — регекспами, да
А ну да, просто все заапперить и искать 😁, что значит регекспами?
Mark ☢️
regexp
Mark ☢️
regular expressions
Mark ☢️
там у них есть case insensitive
Anatoliy
Правда вот сейчас попробовал, луа кириллицу не апперит, только латиницу
Korsar
Транслитерация - аппер - поиск 🙂
Co(n)stantine👨‍🔬
а я чот не изучал, луа норм с утф 8 работает?
Co(n)stantine👨‍🔬
ну я когда начинаю с чем-то в первый раз работать, всегда ставлю last version)
Co(n)stantine👨‍🔬
good
Snusmumriken
В регекспах стандартной lua 5.2-5.3 отсутствуют классы символов (типа %w/%a) для чего-то кроме ascii-латиницы. Чтобы lower/upper'ить всё что надо - придётся заводить табличку перевода туда-сюда и gsub'ать (или по диапазонам смотреть).
Snusmumriken
Когда-то давал пример народу на тему "табличного форматирования", как раз на куске кода с upper/lower'ами utf8 : )
Anatoliy
Где взять сторонние либы?
Snusmumriken
Kirill
Mark ☢️
ну я когда начинаю с чем-то в первый раз работать, всегда ставлю last version)
А потом понимаешь что все либы и вообще всё сидит на легаси. Так было у меня
Co(n)stantine👨‍🔬
А потом понимаешь что все либы и вообще всё сидит на легаси. Так было у меня
😄 да тут проблемка, но переписать старье можн, что я иногда делаю или стараться вообще как можно меньше зависеть от чужих решений
Co(n)stantine👨‍🔬
Велосипедом попахивает
да нет, не обязательно с нуля, а прост удалить deprecated фичи, переписать их на новую версию
Co(n)stantine👨‍🔬
не, вообще я говорю стараюсь как можно реже зависеть от чужих решений. Это геморойно, их над изучать и подстраиваться под них
Co(n)stantine👨‍🔬
ну если конеч они на новых версиях, то хоть работы меньше править, а юзать либы которые работают на старье в новых проектах это получается мне прдется новый проект на старье делать, нет уж, увольте
Co(n)stantine👨‍🔬
Есть какие-то мнения на этот счет или вы согласны со мной?)
Anatoliy
Ребяты кто пользуется luarocks в винде? Я скачал устанавил все по инструкции, с сайта https://luarocks.org и дальше если надо какойто модуль установить то у них там прямо как в линуксе - достаточно в командной строке ввести: luarocks install "имя нужного модуля", я если так делаю то он все норм - скачивает со свего сайта модуль начинает его устанавливать и тут проблема:
Snusmumriken
А ты знаешь что такое cl?
Snusmumriken
Карочи, луарокс изначально заточен под линекс. Чтобы им пользоваться под вендой, надо быть в курсе как оно всё работает. Этот твой "cl" не является командой или программой означает то, что makefile который скачал луарокс, пытается скомпилироваться под visual studio 12 и старше, используя тулзу оттуда. Очевидно, эта тулза ещё и должна быть прописана в PATH, у меня, например, не прописана, поэтому мне её надо вызывать примерно вот так:
Snusmumriken
Snusmumriken
Ты можешь настроить в луароксе другой компилятор, например mingw. Цапануть туда в дефолтные заголовки lua и статическую либу той разрядности которая тебе нужна и компилить до опупения всё, для чего написан соответствующий makefile. В линексах оно в десять раз проще, но если ты вдруг не в курсе что ты делаешь (и не готов править те же makefile, например), боюсь что это неудачная затея.
Co(n)stantine👨‍🔬
да с виндой в любых ситуациях, что касается разработки приходится страдать
Snusmumriken
да с виндой в любых ситуациях, что касается разработки приходится страдать
Не в любых. В разработке чисто под венду - норм. В разработке на тулзах, которые заточены под нормальную кроссплатформу - тоже норм. Плюс в десятке есть мана небесная - wls. Wine-наоборот.
Snusmumriken
И да, кажется, это линексоиды активно вопят: "Читай маны, неуч!"? Тут - как раз тот случай, когда аналогичная ситуация происходит под вендой. Читаем маны и чутка работаем ручками.
Snusmumriken
Надо бы накалякать модификацию coroutine.wrap, которая заворачивает функцию в xpcall с трейсбеком нормальным.
Карочи, вот coroutine.wrap с нормальной отладкой. local function routine(func) return coroutine.wrap(function(...) local res = {xpcall(func, debug.traceback, ...)} if res[1] then table.remove(res, 1) return unpack(res) end error(res[2], 2) end) end
Snusmumriken
Двойной трейс как бы может считаться чем-то плохим, но по мне - сойдёт: первый - внутри корутины, второй - снаружи. Не уверен что это пойдёт в чистой lua 5.1 из-за xpcall без аргументов для вызываемой функции, возможно придётся оборачивать в ещё одну функцию, кошмар. Вы всё ещё не корутините то что должно быть асинхронным? Ну, тогда мы идём к вам.
Anatoliy
И да, кажется, это линексоиды активно вопят: "Читай маны, неуч!"? Тут - как раз тот случай, когда аналогичная ситуация происходит под вендой. Читаем маны и чутка работаем ручками.
В линуксе то хоть маны есть, есть где что прочитать, а в винде часто гадать приходится - как что сделать и где ошибка, или гуглить
Anatoliy
Ты можешь настроить в луароксе другой компилятор, например mingw. Цапануть туда в дефолтные заголовки lua и статическую либу той разрядности которая тебе нужна и компилить до опупения всё, для чего написан соответствующий makefile. В линексах оно в десять раз проще, но если ты вдруг не в курсе что ты делаешь (и не готов править те же makefile, например), боюсь что это неудачная затея.
С mingw у меня тоже какие то непонятки, какие то ошибки выдаёт при любой попытке что-либо скомпилить, какая-то библиотека не найдена, только с нуля скачал с инета установил, установил в него побольше всяких компонентов, так сразу и не заработал, напишу потом ошибку что он пишет
Snusmumriken
У меня сейчас весёлая задачка с экспериментами: таск-шедулер, которому можно через командную строку/вебморду указывать пути до папок/скриптов, которые должны заворачиваться в корутины и асинхронно выполняться. И самое забавное: у каждой задачки, по хорошему, должен быть свой энвайрнмент, со своими путями к require (директория с таской) и т.п. Вот сейчас придумываю копировать в новый энвайрнмент содержимое _G, но со своим package.
vitaly
кто нить может написатьна луа синнонимайзер и сколько денег будет стоить - задача простая - он берет текст в виде массива строковых констант и выдаете синнонимизрованную текстовую переменную