Mike_Went
Как минимум она на инглише и к тому же это референс а не учебник.
а что рассматривается в учебнике, чего нет в референсе?
Aydar
а что рассматривается в учебнике, чего нет в референсе?
В референсе есть всё, но в учебнике всё подробнее расписано.
Денис
Ребят, коротенький вопрос по сям с Lua: luaL_setfuncs создает таблицу под регистрируемые функции или не?
Igor
Ребят, коротенький вопрос по сям с Lua: luaL_setfuncs создает таблицу под регистрируемые функции или не?
То есть делаешь что-то типа такого: const luaL_Reg lib[] = { .... {NULL, NULL} }; .... lua_newtable(L); luaL_setfuncs(L, 0, lib); ....
Igor
Не помню с какой версии (может даже с 5.1, в JIT точно есть), но где-то появилась функция макрос luaL_newlib, она сразу и таблицу создаёт и всё в неё вносит.
Денис
То есть делаешь что-то типа такого: const luaL_Reg lib[] = { .... {NULL, NULL} }; .... lua_newtable(L); luaL_setfuncs(L, 0, lib); ....
Я тут просто наоборот пытаюсь уйти от этой функции - в PB слишком много возни с классическими массивами, переконвертацией строк в UTF-8 и закрытием потом всех адресов.
Денис
Да и инклуд Lua написан кривоватый. Проще вручную список функций из хэшированного словаря подобавлять
Snusmumriken
Я тут просто наоборот пытаюсь уйти от этой функции - в PB слишком много возни с классическими массивами, переконвертацией строк в UTF-8 и закрытием потом всех адресов.
Я обычно делаю что-то вроде lua_newtable(L); lua_pushstring(L, "funcname"); lua_pushcfunction(L, myfunc); lua_rawset(L, -3); И таким макаром прописываю произвольную вложенность экспортируемой таблички, и заполняю её чем хочу собсно. Регистрацию не произвожу, просто возвращаю её, не больше. Меньше мусора.
Денис
Ну а ниже идут метаметоды
Денис
Что-то такой метод не работает... Таблица с функциями получается, но при попытке вызвать функцию по ключу, стейт падает...
GLOOM {Читайте БИО}
А я начал учить С++
Денис
Тут уже проблема скорее всего самой функции, а не метода её определения
Та не, чтобы ты понимал, я пробую на библиотеке, которую ты мне помогал писать недавно. Т.е., все работало на старом способе, атут, гляди ж ты, не работает...
Денис
Тут уже проблема скорее всего самой функции, а не метода её определения
Она у меня в локальном гите, так что старую работоспособность восстановить - дело одной команды. просто хочется упростить себе жизнь и разработать свой простой алгоритм без танцев с бубном с памятью.
Денис
Все, проблема найдена. Я оказывается для хранения указателей использовал фиксированную для всех платформ длину, а надо платформозависимую.
GRENDER
Здорова всем
GLOOM {Читайте БИО}
Hello, World! 🎄
ベクゾッド
Дратути
Alex
Приветствую, подскажите, посмотреть все данные в массиве или таблице только через цикл ? Просто вывести их print как нибудь нельзя ?
Igor
https://github.com/kikito/inspect.lua
Alex
Спасибо, нужно написать пару скриптов. Пока очень сложно врубиться после python.
Lucky
В любом луашном букваре есть примеры итераторов по таблице. Рекомендую.
Alex
В любом луашном букваре есть примеры итераторов по таблице. Рекомендую.
Я смотрел и циклами понял как , но я работаю с API софта. И там вывод через msgbox. Это капец.когда еще хреново понимаешь.
Lucky
Дык сунь функцию одной строкой в мсгбокса скобочки, разделив операторы ;
Lucky
Чтоб эта функция вернула строку
Lucky
склеивает строку оператор ..
Alex
Дык сунь функцию одной строкой в мсгбокса скобочки, разделив операторы ;
Так делаю, он ключи показывает , значения нет , поэтому и хочу понять что за фигня.
Lucky
покажы итератор, не забудь отформатировать в сообщении
Lucky
скорее всего ты забыл подклеить значения и привести их к строке
Alex
Winols
Snusmumriken
Ничоси, эмбеддингом увлекаетесь?
Alex
Типо того. Больше 30000 проектов база , подписана все через одно место. Надо скрипт переименования написать.
Alex
Если в питоне , я все сделал. То Lua как все сначала.....
Snusmumriken
Это совершенно удивительно, но именно этот функционал для работы с файловой системой в луашке есть.
Aydar
Это совершенно удивительно, но именно этот функционал для работы с файловой системой в луашке есть.
Возможно потому что в C он есть в стандартной библиотеке (не проверял) ?
Snusmumriken
Возможно.
Aydar
Так или иначе, os.rename ОСезависимо реализована
Вроде именно сишный rename вызывается https://github.com/lua/lua/blob/eadd8c7178c79c814ecca9652973a9b9dd4cc71b/loslib.c#L165 то что функция rename осезависима - очевидно
Igor
Вроде именно сишный rename вызывается https://github.com/lua/lua/blob/eadd8c7178c79c814ecca9652973a9b9dd4cc71b/loslib.c#L165 то что функция rename осезависима - очевидно
А, ну значит моя ошибка, но я помню, что там где-то есть рядом ОСезависимый код, давно не смотрел просто
Snusmumriken
сишный rename осезависимая функция хотя бы потому, что есть ос без фс.
Igor
сишный rename осезависимая функция хотя бы потому, что есть ос без фс.
Ну уровнем ниже да, а так по факту rename на той же венде вызывает MoveFileA, а она ведёт себя иначе, не так как юниксовый ренейм.
Igor
Помню напоролся на это пару раз
Snusmumriken
Странно что в базовой сишке нет встроенного итератора директорий.
Igor
Это да, упущение. По этой же причине его и в луях нехватает.
Alex
os.rename для переименования и перемещения файлов.
Там проект типа архива. И в проекте создаются версии. И если их не назвать, а просто импортировать будет название (imported) . и его можно исправить только из самой проги руками. Или через API на lua. И вот этим и надо заняться в цикле. Потому что руками это жесть , долго.
Snusmumriken
Солнышко рухнуло, у снуса появился гит. К счастью, можно не трахаться с репозиториями и просто заливать файлики из браузера, гитхаб это влепил. https://github.com/HDPLocust/snus_stuff
Alxius
Солнышко рухнуло, у снуса появился гит. К счастью, можно не трахаться с репозиториями и просто заливать файлики из браузера, гитхаб это влепил. https://github.com/HDPLocust/snus_stuff
А если я обновлю файлы проекта из браузера оно норм потом по гит будет у людей качаться ? Или лучше сборку релиза сделать?
Snusmumriken
Да конечно норм будет качаться, ты буквально делаешь "коммит" но из браузера.
Alxius
Круто. А то какой то сертификат дл консоли требуют и ничего не работает
Snusmumriken
Ну вообще ты типа для репы генеришь сертификат и он работает.
Alxius
Мне было тогда некогда этим разбираться когда пара дней оставалась
Alxius
А потом типа поздно стало
Мне было тогда некогда этим разбираться когда пара дней оставалась
Да в смысле, никогда не поздно. Ты генерируешь пару ключей для SSH: ssh-keygen -t ed25519 -C "your_email@example.com" И публичный ключ свой загружаешь на Github в настройках SSH на нём (или другой хостинг, которым пользуешься). В конфиг SSH прописываешь, какой ключ использовать при работе с Github: Host github HostName github.com User git IdentityFile ~/.ssh/your_private_key_for_github И меняешь в своих существующих репах ссылку на репозиторий с http на ssh: git remote set-url origin git@github.com:your-user/your-repo.git Всё.
На самом Гитхабе инструкции есть. Ещё они вроде выкатывали какую-то свою обёртку над Гитом, но не пользовался, не знаю, что там.
Snusmumriken
Гит объективно нужен только в одном и единственном случае — есть команда разработки. Чтобы не мешать друг другу — распределяетесь по веточкам и радостно пишете свою (максимально отделённую от других) фигню. Большей частью одиночных разрабов, гитхаб используется чисто как файлопомойка. Но с очень красивым оформлением, да. Да, да "всегда можно откатить версию на N чтобы получить бла-бла-бла", но это то что имеет не очень острую необходимость примерно раз в миллиард лет.
Snusmumriken
Лол, нет.
Лол, да.
Snusmumriken
Загрузка файликов: 15 секунд — открыть сайтик, перетащить файлики, обозвать коммитом. Написание команды "git commit blabla" и "git push" — те же 10-15 секунд, чел. Экономия на спичках, знаешь ли.
Не откатить версию на N, а иметь бэкапы и историю всего, что ты делал, ибо есть текст коммита.
Не, ну удобно заниматься фигнёй — ладно, не буду мешать, у всех разные вкусы.
Snusmumriken
Хех, это тебе удобно заниматься фигнёй, каждую фигнюшку причёсывать со всех сторон, больше времени на это тратишь чем на полезную деятельность )0
Нiт
Highly Likely
Нiт
Лёша, астанавис, это бесполезная трата времени )
Snusmumriken
Так вот. Когда ты подрастаешь, тебе, под не самую частоиспользуемую фигню, начинает хотеться максимально простых и топорных решений, требующих как можно меньше телодвижений, установок ерунды, настроек и прочего. И перетаскивание файликов в окошко бравузера — одно из них. Я гарантирую, лет через пять-десять осознаешь.
Hello, World! 🎄
Не вижу смысла использовать git для своих проектов, все равно потом github, notabug или другой хостинг кода должен его там сам инициализировать.
Snusmumriken
Не вижу смысла использовать git для своих проектов, все равно потом github, notabug или другой хостинг кода должен его там сам инициализировать.
Ну типа создаёшь репу в бравузере и закидываешь файло. Разницу оно посчитает. Под редкие фиксы (условно раз в месяц/пол года когда понимаешь что надо бы расширить твою утилити ерунду или чот мелкое пофиксить) — топчик. Мороки ноль, сертификатов тоже, буквально как пастбин.