Snusmumriken
<Key>(.-)</Key> Можно использовать и в match и в gmatch.
Snusmumriken
А ещё я КАК РАЗ пару дней назад катал фигню, для поиска сбалансированных шаблончиков.
Snusmumriken
Написать функцию, которая в строке будет искать сбалансированные шаблоны. Например, вот такое: html = [[ <html> <div> <div> </div> <span/> </div> </html> ]] =string_findBalanced(html, "<div>", "</div>") ><div> <div> </div> <span/> </div>
Snusmumriken
Ну кароч примерно вот так. local huge, min = math.huge, math.min local function string_bfind(str, head, tail, offset, ex_bounds, plain) local header_start, header_end = str:find(head, offset or 1, plain) if not header_start then return nil end local cursor = header_end local last_tail_start = 0 local counter = 1 while counter > 0 do local ha, hb = str:find(head, cursor + 1, plain) if not ha then ha, hb = huge, huge end local ta, tb = str:find(tail, cursor + 1, plain) if not ta then return nil end counter = counter + (ha < ta and 1 or -1) cursor = min(hb, tb) last_tail_start = ta end if ex_bounds then local a, b = header_end + 1, last_tail_start - 1 return str:sub(a, b), a, b end return str:sub(header_start, cursor), header_start, cursor end local str = "<html><div><div></div><span/></div></html>" print(string_bfind(str, "<div>", "</div>") ) Тупой подсчёт вхождений, но фичеватость присутствует. Можно ещё оптимизировать на пару курсоров, чтобы не переискивало каждый раз начало и конец, но пока впадлу.
Hello, World! 🎄
Как это использовать?
Snusmumriken
а) Прочитать доку, б) Расковырять либу и понять как её использовать.
Hello, World! 🎄
Snusmumriken
require"forms"
Hello, World! 🎄
requere "forms"
Hello, World! 🎄
require"forms"
Либа должна в одной папке лежать?
Hello, World! 🎄
с точкой входа?
Snusmumriken
Она должна лежать там, где её найдут.
Hello, World! 🎄
Она должна лежать там, где её найдут.
В той же директории что и main.lua?
Snusmumriken
Вот например где ищет мой интерпретатор. Первая половина — попытки подгрузить lua-либу, вторая — сишные динамические либы. Посмотри где ищет твой интерпретатор. Но ты, разумеется, можешь добавить путь в package.path, работает примерно как переменная PATH.
Hello, World! 🎄
> require "foo" stdin:1: module 'foo' not found: no field package.preload['foo'] no file '/usr/local/share/lua/5.3/foo.lua' no file '/usr/local/share/lua/5.3/foo/init.lua' no file '/usr/local/lib/lua/5.3/foo.lua' no file '/usr/local/lib/lua/5.3/foo/init.lua' no file '/usr/share/lua/5.3/foo.lua' no file '/usr/share/lua/5.3/foo/init.lua' no file './foo.lua' no file './foo/init.lua' no file '/usr/local/lib/lua/5.3/foo.so' no file '/usr/lib/x86_64-linux-gnu/lua/5.3/foo.so' no file '/usr/lib/lua/5.3/foo.so' no file '/usr/local/lib/lua/5.3/loadall.so' no file './foo.so' stack traceback: [C]: in function 'require' stdin:1: in main chunk [C]: in ?
Snusmumriken
Вот добавь куда-нибудь сюда forms.lua, и оно точно найдёт.
Hello, World! 🎄
Мне в любую папке закинуть?
Snusmumriken
Возможно даже в папку с main.lua, может быть найдёт по ./foo.lua.
Hello, World! 🎄
Какие есть нормальные движки для создания игр на linux для android ?
Anonymous
на луа можешь попробовать defold.com
fgntfg
Corona, которая теперь Solar
Hello, World! 🎄
Hello, World! 🎄
Corona, которая теперь Solar
Знаю, но на линуксе её нет :(
Hello, World! 🎄
Хороший движок, если не будет аналогов, то беру его
fgntfg
Знаю, но на линуксе её нет :(
Разьве? Ну возьми сорц, да собери
Anonymous
Для линукс подойдёт?
можно и редактор под линуксом запустить, и проект под него собрать
Anonymous
https://www.youtube.com/watch?v=Fp-eBF3NStE
Hello, World! 🎄
Спасибо!
Snusmumriken
#gamedev #lua #defold #spb #cпб #санкт-петербург #петербург #офис #remote #удаленка #fulltime #mobile #MPGames #mobilegames #работа #job middle/senior Lua (Defold) developer - MP Games (Спб) 🚀 ЗП обсуждается индивидуально и зависит от твоих ожиданий Рассматриваем фриланс/удаленку/офис В связи с активным ростом и развитием наших игр, мы ищем Senior Lua (Defold) developer для работы для работы над нашим флагманским проектом Travel Blast: Puzzle. 📌 Какими задачами предстоит заниматься: • полностью работать над игровыми проектами (писать логику, фичи, работать с графическим контентом и анимациями); • взаимодействовать с командой программистов, художников, геймдизайнеров для реализации необходимого функционала. ✨ Как мы живем: http://www.instagram.com/mpgames.rocks 💡 Что нам важно в вашем опыте: • отличное знание движка Defold; • знание Lua; ➕ Будет плюсом: • опыт работы с любым другим игровым движком от 2 лет (UDK, UE4, Unity3D и др.); • опыт работы в геймдеве, желательно на мобильных проектах. 🥤 Что мы предлагаем: • работу в комфортабельном офисе в стиле лофт в историческом центре Санкт-Петербурга (5 минут от ст. м. Горьковская); • официальное оформление согласно ТК РФ • достойный уровень оплаты труда, обсуждаем индивидуально, бонусы по результатам работы; • работу над интересными midcore играми; • гибкий график: время прихода в офис до 12:00. Есть возможность работать удаленно. Мы не считаем отработанные часы, главное для нас - результат и качество; • питание в корпоративном кафе - завтраки, обеды, ужины - мы заботимся о наших сотрудниках; • в офисе витамины - фрукты/овощи/орешки/печеньки в неограниченном количестве; • компенсация занятий спортом - для тех, кто привык быть в тонусе; • насыщенная и весёлая корпоративная жизнь; • новая техника и комфортные рабочие места. 📬 Пиши мне в личку или в телеграм: @tonika1206
Snusmumriken
Дефолдеры, тут дефолдская вакансия в СПБ.
Тоня
#gamedev #lua #defold #spb #cпб #санкт-петербург #петербург #офис #remote #удаленка #fulltime #mobile #MPGames #mobilegames #работа #job middle/senior Lua (Defold) developer - MP Games (Спб) 🚀 ЗП обсуждается индивидуально и зависит от твоих ожиданий Рассматриваем фриланс/удаленку/офис В связи с активным ростом и развитием наших игр, мы ищем Senior Lua (Defold) developer для работы для работы над нашим флагманским проектом Travel Blast: Puzzle. 📌 Какими задачами предстоит заниматься: • полностью работать над игровыми проектами (писать логику, фичи, работать с графическим контентом и анимациями); • взаимодействовать с командой программистов, художников, геймдизайнеров для реализации необходимого функционала. ✨ Как мы живем: http://www.instagram.com/mpgames.rocks 💡 Что нам важно в вашем опыте: • отличное знание движка Defold; • знание Lua; ➕ Будет плюсом: • опыт работы с любым другим игровым движком от 2 лет (UDK, UE4, Unity3D и др.); • опыт работы в геймдеве, желательно на мобильных проектах. 🥤 Что мы предлагаем: • работу в комфортабельном офисе в стиле лофт в историческом центре Санкт-Петербурга (5 минут от ст. м. Горьковская); • официальное оформление согласно ТК РФ • достойный уровень оплаты труда, обсуждаем индивидуально, бонусы по результатам работы; • работу над интересными midcore играми; • гибкий график: время прихода в офис до 12:00. Есть возможность работать удаленно. Мы не считаем отработанные часы, главное для нас - результат и качество; • питание в корпоративном кафе - завтраки, обеды, ужины - мы заботимся о наших сотрудниках; • в офисе витамины - фрукты/овощи/орешки/печеньки в неограниченном количестве; • компенсация занятий спортом - для тех, кто привык быть в тонусе; • насыщенная и весёлая корпоративная жизнь; • новая техника и комфортные рабочие места. 📬 Пиши мне в личку или в телеграм: @tonika1206
сейчас в команде на проекте 4 человека на Defold, и мы расширяем команду!) пишите, не стесняйтесь, расскажу подробности! можно удаленно, можно в офисе работать (тем более, что сейчас свободное посещение)
Hello, World! 🎄
Сколько вообще в lua переменных?
Snusmumriken
43 в луажыте (тут есть лишняя табличка jit).
Snusmumriken
Потому что 42 должно быть в lua5.1
Hello, World! 🎄
Egor
все есть table 😂
Egor
как в питоне - все есть объект
Snusmumriken
int float string
Тогда вопрос должен был звучать "Сколько в луа типов переменных?". 1. Number — float64 (52 бита на целую часть, 12 на мантиссу) 1.1 Number-int int64, появилось только в 5.3 и далее 2. Boolean (8 бит) 3. String (ansi-строки, без встроенного юникода) 4. Function 5. Table 6. Cdata 7. Thread (coroutine)
Александр
перечитал сообщения выше, видимо имелось в виду, что в строки можно положить любые байтики, а как их интерпретировать - на совести программиста
Mikhail
Складывается впечатление что один и тот же человек под 20ю никами
Snusmumriken
(это снус спорит сам с собой прост, движуху создаёт)
Snusmumriken
Но Тони уже прошёл эти этапы, он уже не так уж плох и примерно понимает что делает.
Hello, World! 🎄
А как в луа float преобразовать в int?
Hello, World! 🎄
Мне нужно деление без остатка скорее всего
Hello, World! 🎄
i = 10 i = i // 3 print(i)
Arslan
// неправильно как-то работает > 15.1//1 15.0 Используй так: math.ceil(i//3)
Arslan
i = 10 i = i // 3 print(i)
А вот так работает
Arslan
Странно
Hello, World! 🎄
На love2d вообще не работает //
Leon174
// начиная с 5.3, поэтому в ловке и не работает.
Godruma-vihari Dasa
i=math.floor(x)
Godruma-vihari Dasa
ceil округляет в в большую сторону, floor — в меньшую.
Ivan
А как в луа float преобразовать в int?
В луа нет int. Все числа float. Так что это сделать нельзя. Если задача отрезать дробную часть, то можно использовать math.floor() print(math.floor(11.98)) -- выведет 11 Но если нужно отбрасывать дробную часть и для отрицательных чисел, то math.floor() сработает не так как нужно: print(round(-3.14)) -- выведет -4 Если необходимо работать с отрицательными числами, то можно использовать функцию вида function round(x) return x>=0 and math.floor(x+0.5) or math.ceil(x-0.5) end тогда: print(round(-3.14)) -- выведет -3
Luсky
Можно ещё просто обрезание сделать как строке
Luсky
кстати, в ффи таки есть инт вроде
Luсky
только я не тыкал там преобразование.
Hello, World! 🎄
Я сейчас на love2d пытаюся рейкастинг сделать
Hello, World! 🎄
Domka
Я кажется знаю какой ты способ используешь
Domka
А ты случаем пересечение с тайлом по клетке не проверяешь?
Anatoliy
Всем привет, ребята подскажите по проблеме - мне понадобилась известная библиотечка luasocket от Диего Нехаба для луа 5.3 на 64 бит, скачал https://github.com/diegonehab/luasocket, скомпилил, там вообще уже готовый проект под msvc, все просто, осталось только указать путь к луевым 5.3 инклюдам и луа 5.3 либе, выставил release x64 и запустил сборку, все ОК собралось, только при подключении dll в скрипте выкидывает ошибку - error loading module 'socket.core' from file ...\socket\core.dll the specified procedure could not be found
Anatoliy
И при этом что странно я открыл свойства скомпиленных dll, через Total commander, а их там две в итоговой папке компиляции - \socket\core.dll и \mime\core.dll и в них нету зааисимости от lua53.dll
Anatoliy
Anatoliy
Но экспортируемая луа функция есть:
Anatoliy