Snusmumriken
Метатаблица с типом в __index ))
Snusmumriken
Это первое что пришло в голову.
Alexey
Ты понимаешь что метатаблица устанавливается одна для всех lightuserdata в Lua state?
Snusmumriken
Как работает luasocket? Посмотри сурцы, они отлично написаны.
Alexey
Lua-cURL использует light userdata на статические объекты.
Твой __gc получит на вход этот указатель
Как ты узнаешь что его не надо удалять?
Alexey
luasocket не использует lightuserdata вообще
Snusmumriken
А что там?
Alexey
https://github.com/diegonehab/luasocket/blob/master/src/tcp.c#L200
p_tcp clnt = (p_tcp) lua_newuserdata(L, sizeof(t_tcp));
Ушел работать
Snusmumriken
Ну значит меня глюкнуло, пардон : )
Вот товарищу Айдару сурц отличной либы, в которой он может научиться!
Snusmumriken
Ты так бы и сказал: "Мой скудный ум не способен осознать величие твоего разума, поэтому я недостоин зваться товарищем"
Snusmumriken
Да ладно, я же шучу : )
Это настолько гротескно что очевидно, нет?
Snusmumriken
Ох, какие мы сложные ))
Snusmumriken
Как будто гиперболу изобрели позавчера : )
Snusmumriken
Пардон, 17 лет - и не разбирается в современном юморе : )
Ну ладно, ладно, прекращаю стебать.
Все мы люди, и всем нам когда-то было (или даже будет) семнадцать.
Я вон, в семнадцать, думал на тему "таньку за ляжку".
fgntfg
хмм, в 17 я думал о... наверное об поступлении в институты, лёгких алкогольных напитках и вот таких вот вещях
Snusmumriken
Я калькулятор.
fgntfg
Я экстраполировал, так как тоже не помню
Snusmumriken
Ух. У меня, до момента окончания университета, была довольно насыщенная жизнь, поэтому хорошо запомнилась. Хм.
Там была такая танька, которую за ляшку, что прям страшно становится.
Много впечатлений : )
ㅤ
Чтобы быть категоричным и агрессивным — тоже.
ㅤ
Ни на кого не намекаю, просто мимо проходил.
brestows
Всем привет, подскажите, как в Lua в регулярном выражении указать длину совпадения, типа подобного pcre {2,2}
Snusmumriken
lua_newuserdata - автоматом пушит в LuaState юзердату.
Дальше делаешь с ней всякие грязные вещи.
Snusmumriken
brestows
т.е. Вот таую регулярку 18\d{2,2} штатно не заменить на родную?
brestows
А как тогда искать например четырехзначное число начинающееся на конкретную цифру?
brestows
Печально
Snusmumriken
Хм.
('12456we71231238ewr'):match'4%d%d%d'
Или
('12456we71231238ewr'):match('4'..(%d):rep(3))
brestows
Да, только вот проблема что у меня есть в базе куча регулярок pcre
Snusmumriken
Тогда ставь либу.
brestows
Да
brestows
А что то посоветуете?
brestows
А то я с lua только начал работать
Alexey
pcre
brestows
Так и называется?
Snusmumriken
Например.
https://luarocks.org/modules/rrt/lrexlib-pcre
http://rrthomas.github.io/lrexlib/manual.html
Alexey
https://luarocks.org/modules/rrt/lrexlib-pcre
brestows
Это я и нагуглил
brestows
Разобраться бы еще с ней, спасибо.
Alexey
На моих простых тестах работает чуть чуть быстрее Lua
Alexey
это просто pcre.
Вот если соберешся lpeg ..... :)
brestows
Да, его я тоже нашел
brestows
Все нашел, всем спасибо :)
Snusmumriken
Свободная страна, вспоминаем что хотим.
Но правила демагогии еще никто не отменял :3
Snusmumriken
Прости Айдар, как ни странно, но большая часть нелестного от меня направлена на повышение гибкости мышления окружающих, и исправление косяков. Даже демонстрация моего чсв - чтобы увидеть реакцию окружающих, и умилиться от 'О боже мой, они аргументированно разносят мою чушь, они думают! Оно научились думать!'. Я в курсе, что раскрывая карты ты перестаешь воспринимать меня всерьез, но у тебя уйдет много времени чтобы понять. Я не ругаю и не обижаю, просто так сложилось.
Snusmumriken
Поэтому столько демагогии.
Все мои манеры идут отсюда.
vvzvlad
а как в луа вывести цветной текст в терминал? пытаюсь так, и не полуается. print("\033[7m RPL-router version\n \033[0m")
Alexey
https://github.com/moteus/lua-log/blob/master/lua/log/writer/console/color.lua
Там проверяется несколько библиотек
vvzvlad
только не ansicolors, пожалуйста. я не хочу тащить ради этого либу
vvzvlad
не верю. цвет — это просто управляющая последовательность. ты еще скажи, что без либы нельзя выдать /r, чтобы в начало строки вернуться.
vvzvlad
луа может произольные данные в stdout слать, значит можно туда и нужную последовательность выдать
vvzvlad
print(string.char(27,91,51,49,109)) --красим текст в красный
print("Red text\n")
print(string.char(27,91,48,109)) -- возвращаем настройки обратно
vvzvlad
спасибо, если бы ты не сказал, я бы скорее всего забил бы.
Snusmumriken
Хех, а я всё ещё рою SCI-последовательности, благо когда-то давно безумной скопипастенной магией на чистой сишке делал что-то такое:
Snusmumriken
vvzvlad
ох, епт.
Snusmumriken
Там тоже SCI-последовательности, типа печатаем в консольку ^!@#*!^$%!(*#&@text и получаем то что надо.
Snusmumriken
Хм, только что как-то получил, а теперь не могу повторить )))
Snusmumriken
Всё, раскусил.
Дёргаем os.execute'' и escape-последовательности начинают работать.
Под линексами, помнится, примерно то же самое.
Snusmumriken
С принтами тоже работает, многоцветность на месте.
А вы говорите что без либы никак )))
Snusmumriken
Ну, ты такой большой, что скоро меня догонишь. Можно и как ко "множественному числу" обратиться ))
Snusmumriken
Я тут ещё побаловался. В общем, развлекайся, тут можно оболочку над этим замутить.
Snusmumriken
Красоту, очевидно.
Snusmumriken
У CSI немножко больше возможностей чем тебе кажется.
Установка курсора в произвольное место, чтобы, допустим, перерисовать "экран" с человеческой скоростью, а не через "cls + print ещё раз".
Можно устанавливать произвольный цвет по RGB, чтобы жизнь казалась мёдом.
Есть несколько "планов текста", так что я бы не отказался от полноценного консольного модуля : )
Рогалики, чел. Рогалики.
А ещё, если извратиться, думаю, можно прифигачить мышку вне осей, и перехват клавиш без ввода.
Красота, в общем.
Snusmumriken
У меня была надежда, но ты её не оправдал.
Мой первый полноценный рогалик - uMoria, и мне было тринадцать лет.
Рядом были морувинды и герои, а я задрачивал морию, потому что мог.
Snusmumriken
Snusmumriken
Айдар, ты играл в дьябло?
Snusmumriken
А в дум?
Snusmumriken
Хе.
Ты знаешь, какая игра была прародителем и той и той?
Причём официально.
Я только что кинул её скриншот : )
Snusmumriken
У ДФ немножко другой рендер.
Там opengl который рисует буквы тайликами.
Snusmumriken
Жабе было лень изучать SCI )))
На самом деле, в ascii не влезают символы морд дварфов.
Режим приключенца - да.
Режим крепости - слеттерс + симс + данжн-кипер.
Snusmumriken
Я решил что DF жрёт слишком много времени, поэтому чутка переключаюсь на oxygen not included. Именитые разрабы. Двухмерный мир, правда, но зато в жизненно необходимый ресурс впилен кислород, который постоянно кончается, и тут чуть больше микроменеджмента/устройств для механизмов : )
Автомат тьюринга, правда, построить нельзя, как и логические гейты, но можно балансировать газы в астероиде. Физон на месте, тяжёлые и холодные газы спускаются вниз, горячие/лёгкие - наверх, жидкости со связанными сосудами и т.п.
Но за счёт простоты механизмов - на их реализацию уходит меньше времени.
Когда особо играл в миникруфт и DF, ещё не умел программировать, но основная цель - всякая механика стрёмная.
Пушки стреляющие лавой под давлением (df), или саморазворачивающаяся крепость на поршнях (mc). Было клёво, но о-очень долго.
Tverd
Парни, а в lanes есть возможность создавать канал между тредом и основной прогой с возможностью туда сюда... ну или другой какой-нить вариант обмена?
Alexey
да. Называется это там linda
Tverd
ага, спасибо, гляну
Anonymous
if groups_table.error and groups_table.error.error_msg then ...
mva
mva
получилось? :)
Anonymous
Важно понять, что при AND если первое выражение вернёт FALSE (ключа нет), то второе даже не будет рассматрится