Size: a a a

2019 September 26

S

Snusmumriken in pro.lua
Хмммм. Дописать недописанную - не? Зачем тестировать файл с чем-то недописанным? : )
источник

S

Snusmumriken in pro.lua
Хех, когда я пишу либу (даже большую), я пишу её полностью или почти полностью, а потом начинаю гонять тесты : )
источник

S

Snusmumriken in pro.lua
Как раз потому что это не игра на love и помещается в голове, можно сначала полностью написать. Это игры на лове надо постоянно запускать в недописанном виде.
источник

S

Snusmumriken in pro.lua
Прост если функции используют другие функции из того же модуля (что регулярно происходит), то тебе полюбас придётся запихивать в репл почти весь файл, кроме той самой недописанной. Да и привести недописанную к синтаксически корректному виду (ровно чтобы не упало с ошибкой) — дело трёх секунд.
источник

S

Snusmumriken in pro.lua
Не, я не против, делай как хочешь, просто лично я нахожу активное репленье не особо оптимальным.
источник

S

Snusmumriken in pro.lua
А, да. Если тебе неожиданно понадобится ООП, и ты будешь тестировать не отдельные функции а методы — репл будет больше мешать чем помогать, потому что выделить отдельную функцию не получится, надо подгребать весь класс, замутить примерчик с объектом и уже запускать.
источник

S

Snusmumriken in pro.lua
Уууу, сложна, ну лан : )
(и весь файл должен быть "дописан", т.е. синтаксически корректен)
источник

S

Snusmumriken in pro.lua
Во, я вообще страшное дело сделал, я запускаю скрипты в запускаторе для скриптов.
Типа
lua /path/to/script/runner.lua /path/to/script.lua

(сорц https://pastebin.com/njdrw0pj)

А всё для того чтобы подгребались библиотеки из текущей директории и выводилась ошибка вместо закрытия терминала, а ещё можно было дебажить РЕЛом после окончания исполнения/при ошибке.
источник

S

Snusmumriken in pro.lua
Да, Луа глупая, поэтому она ищет библиотеки/модули только в луа-либсах и рядом с интерпретатором, но совсем не рядом с запускаемым файлом.

И о какой магии речь? Всё и так предельно понятно: мы добавляем пути до библиотек поблизости исполняемого файла в package.path/cpath.
источник

f

fgntfg in pro.lua
☑ перепиши интерпритатор
источник

S

Snusmumriken in pro.lua
Да надо бы, тупо чтобы юзабилити поднять чутка.
источник

S

Snusmumriken in pro.lua
Не а. Если запихнуть этот common.lua рядом с интерпретатором, или по любому из предоставленных ТЕБЕ путей (у меня засраны LUA_PATH/CPATH, поэтому у тебя там вариантов будет меньше), то найдёт.

(содержимое common.lua — return 10)
источник

S

Snusmumriken in pro.lua
А хотя забавно, под линуксами ".common" работает, но ТОЛЬКО если "текущая директория" настроена на текущий файл. Если запускать шорткатом, "текущая директория" расположена хз где, вплоть до рядом с исполняемым файлом текстового редактора. Не исключено что под виндовсами аналогично, но запускатель надёжнее : )
источник

S

Snusmumriken in pro.lua
источник

S

Snusmumriken in pro.lua
Вот, любая рабочая директория и всё типа ок, вне зависимости от ОС.
источник
2019 September 27

З

Зилер близко in pro.lua
привет всем, есть ли библиотека для решения задач с теорией графов?
источник

L

Leon174 in pro.lua
источник

L

Leon174 in pro.lua
источник

АК

Александр Караев in pro.lua
Привет всем.
Допустим, существует некий глобальный стейт L. В нем есть какие переменные. Мы заспаунили тред, запустили в нем корутину, в ней создали какой-то объект a = { ... };.
Правильно ли я понимаю, что "владелец" a - это не L, а некий дочерний стейт, стейт потока?
Что произойдет с владельцем, если я запишу ссылку на a в глобальные переменные L, после чего поток и корутина умрут? Я получу мертвую ссылку и сегфолт в дальнейшем?
источник

АК

Александр Караев in pro.lua
Вопрос навеян следующей проблемой:
Есть глобальная таблица S в основном и единственном lua_State. В программе создаётся и уничтожается множество потоков+корутин. Корутины активно взаимодействуют с S - пишут, читают, чистят (S = {}). Когда приходит время уничтожить S из основного стейта, крашится на luaL_unref. В этот момент все корутины уже мертвы, но чувствую, что в S как-то оказались ссылки на переменные от мертвых корутин.
источник