Size: a a a

2020 January 16

VD

Vlad Doc in pro.lua
Ivan Bessarabov
Пока ты живешь только в луа, то норм.
Но вот когда (и если) система разрастается и из этого конфига нужно читать не только программам на луа, то тогда наступает жопа.
Так что если вероятность что когда-нибудь этот конфиг нужно будет читать из других языков программирования, то лучше так не делать. А если будет только луа и всех в команде устраивает конфиги в луа, то почему бы и нет =)
Не думаю что мой васянский клон вульфа обрастёт такой большой экосистемой, чтобы это стало проблемой.
источник

IB

Ivan Bessarabov in pro.lua
Vlad Doc
Не думаю что мой васянский клон вульфа обрастёт такой большой экосистемой, чтобы это стало проблемой.
Если это вообще твой пет проджект, то делай как тебе нравится и никого не слушай =)
источник

VD

Vlad Doc in pro.lua
Ivan Bessarabov
Если это вообще твой пет проджект, то делай как тебе нравится и никого не слушай =)
Собственно я использую луа, просто потому что он удобно парсится в то что мне нужно. Пример кода на С++:
void readConfig(GameData& data, ControlState& ctrls)
{
   LuaScript script("conf.lua");
   if(!script) return; // Then defaults will be loaded.
   std::string filename = script.get<std::string>("config.map");

   data.initMapFromFile(filename.c_str());

   screenWidth = script.get<int>("config.screenWidth");
   screenHeight = script.get<int>("config.screenHeight");
   screenBits = script.get<int>("config.screenBits");
   ....
}
источник

TC

Tom Cauf in pro.lua
Ivan Bessarabov
Да что про электрон говорить — все понятно, отличная система.
> отличная система

Слишком толсто. В телегу не пролизает
источник

AZ

Aydar Zarifullin in pro.lua
Ivan Bessarabov
Да что про электрон говорить — все понятно, отличная система.
Отличная от нормальной.
источник

S

Snusmumriken in pro.lua
Vadim Misbakh-Soloviov
не нравится - пиши на питоне
Там тоже глобальная фигня
источник

f

fgntfg in pro.lua
Хмм. А что если сделать глобальный void*, выделить память и использовать только его?
источник

S

Snusmumriken in pro.lua
Поздравляю, ты только что изобрёл глобалспейс ))
источник

AZ

Aydar Zarifullin in pro.lua
Snusmumriken
Там тоже глобальная фигня
Сложно вспомнить где ее нет
источник

S

Snusmumriken in pro.lua
1. Её нет в луях, если очистить весь глобалспейс и подгрузить глобальные таблички в локальную фигню (то же — со всеми остальными скриптами);
2. Этого почти нет в жаве, и в прочих пакетно-модульных языках;
источник

VM

Vadim Misbakh-Soloviov in pro.lua
в похапе, кстати, вроде, по умолчанию переменные локальные, например :)
источник

VM

Vadim Misbakh-Soloviov in pro.lua
но мне кажется ОПу не нравится что в луне объекты/классы=таблицы
источник

VM

Vadim Misbakh-Soloviov in pro.lua
просто оне не смог по-человечески это объяснить
источник

f

fgntfg in pro.lua
Хмм. Надо посмотреть как в lua на прямую с памятью работать.
источник

S

Snusmumriken in pro.lua
Ffi. malloc, ffi.copy etc.
источник

f

fgntfg in pro.lua
ff.uckthis
источник

f

fgntfg in pro.lua
Через ffi не ощущения не не
источник

S

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

AZ

Aydar Zarifullin in pro.lua
Как заюзать iup из lua?

Скачал iup-3.28_Linux50_64_lib.tar.gz, распаковал.
Выполнил sudo ./install && sudo ./config_lua_module

Скачал iup-3.28-Lua51_Linux50_64_lib.tar.gz, распаковал.
Выполнил sudo ./install && sudo ./config_lua_module

В итоге в /usr/lib64/ установились следующие файлы
https://pastebin.com/AUcn3rfP

А в /usr/lib64/lua/5.1 появились симлинки
https://pastebin.com/XfYgrTBj

Потом я запустил luajit
Добавил в cpath нужные пути

package.cpath = package.cpath .. ";/usr/lib64/?.so"
package.cpath = package.cpath .. ";/usr/lib64/lua/5.1/?.so"

Сделал require("iuplua") и получил ошибку error loading module 'iuplua' from file '/usr/lib64/lua/5.1/iuplua.so':
 libiup.so: cannot open shared object file: No such file or directory
источник

I

Igor725 in pro.lua
Aydar Zarifullin
Как заюзать iup из lua?

Скачал iup-3.28_Linux50_64_lib.tar.gz, распаковал.
Выполнил sudo ./install && sudo ./config_lua_module

Скачал iup-3.28-Lua51_Linux50_64_lib.tar.gz, распаковал.
Выполнил sudo ./install && sudo ./config_lua_module

В итоге в /usr/lib64/ установились следующие файлы
https://pastebin.com/AUcn3rfP

А в /usr/lib64/lua/5.1 появились симлинки
https://pastebin.com/XfYgrTBj

Потом я запустил luajit
Добавил в cpath нужные пути

package.cpath = package.cpath .. ";/usr/lib64/?.so"
package.cpath = package.cpath .. ";/usr/lib64/lua/5.1/?.so"

Сделал require("iuplua") и получил ошибку error loading module 'iuplua' from file '/usr/lib64/lua/5.1/iuplua.so':
 libiup.so: cannot open shared object file: No such file or directory
Судя по всему iuplua.so он нашёл, но не нашёл какую-то его зависимость, ldd посмотри, понятно станет
источник