
Alexander
18.05.2017
08:08:16
;)

Group Butler [beta]
18.05.2017
11:30:29
Добро пожаловать в чат pro.lua, Alxius! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Alxius
18.05.2017
19:36:57
Ghbdtn Ghbdtncn Ghbdtn Ghbdtn ПРиветствую, можно спросить кто подскажет как нормально включить в скрипт луа другой скрипт луа? если делаю вот так ЛУА много и грязно ругается хотя скрипт в этой же папке лежит require ("wystrel_player1.lua");
Linux Mint 18.1 x64 движок Love2D

Google

Alxius
18.05.2017
19:37:26
я даже название до "1" сокращал
искал в инете находится всякая чушь по фразе " м загрузка внешнего LUA скрипта команда require "
подключение каких то библиотек ненужных находится, всё что угодно кроме того как включить в LUA скрипт ещё кусок LUA скрипта. Особенно раздражают ссылки на всякие дурацкие игры и т.п. где LUA используется они уж точно не помогают.

grinchfox
18.05.2017
19:39:14
Programming in Lua : 8.1
https://www.lua.org/pil/8.1.html
Прочитай про LUA_PATH

Alxius
18.05.2017
19:40:04
эх ангельская мова.. ладно
непонятно почему он по умолчанию не установлен.

grinchfox
18.05.2017
19:40:57
Хз, я не разбираюсь в love

Alxius
18.05.2017
19:41:10
он 2 команды просто добавляет. в остальном это чистый LUA
по крайней мере я 2 команды только использую
надеюсь его можно изнутри задать не идя в конфиги

Рома
18.05.2017
19:51:30
package.path = package.path .. ';scripts/?.lua' — это строка кода, напиши в файле перед require где-нибудь вверху, scripts/ замени на папку со вторым скриптом, или просто ./?.lua - тогда будет искать файлы рядом.
Да, по началу не всегда легко найти что-либо в луа доках, но потом легко.

Google

Alxius
18.05.2017
19:53:51
gh привык уже к require_once ("")
включенный скрипт не работает вообще. т.е. приложение работает но как будто этой части кода вообще нет. полностью отсутстувет реакция на клавиши описываемые в включаемом скрипте.
может через Python перед каждым запуском просто пересобирать конечный main.lua?
может так быстрее будет
из нескольких кусков, . разделение на 2-3 части просто так удобнее редактировать
какая то другая механика работы команды, не как в PHP

Рома
18.05.2017
19:58:23
на самом деле все просто проще некуда, в ошибке сказано где луа ищет твой файл, в package.path можешь добавить любую папку для поиска

Alxius
18.05.2017
19:58:32
нет ошибки. в том то и дело.
типа всё верно, ошибок нет , нтчегоне работает
персонажа паралич всего лишь хватил

Snusmumriken
18.05.2017
19:59:21
Ты не в ту группу пишешь.
https://t.me/love2d_ru
А ещё, просто глянь где находится скрипт wystrel_player1.lua, и заставь его вызваться нормально.

Alxius
18.05.2017
20:00:31
так там всего 30 человек
в ТОЙ же папке
рядом лежат

Snusmumriken
18.05.2017
20:01:14
а) там 38 человек
б) там есть я
в) тот факт что лежат в той же папке - не значит, что кто-то не испоганил package.path, а я вижу что это так. Не трогайте package.path без необходимости. Смотри лучше на свой скриншот, и смотри где оно пытается искать этот скрипт. Это явно не стандартные lua-love-пути.
Прилетел томат и удалил кучу сообщений здесь.

Чай
19.05.2017
15:38:17
Аж сердце ёкнуло. Не пугай так.

Alxius
19.05.2017
17:48:45
это как Прилетело НЛО и оставило сообщение здесь

Google

Чай
19.05.2017
17:59:09
Прилетел чай и разлил себя здесь.

Snusmumriken
19.05.2017
18:48:34
Ну, да, это прямая аллюзия, что тут был спам, который был удалён.

Group Butler [beta]
22.05.2017
07:34:20
Добро пожаловать в чат pro.lua, Serge! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Sergiy! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Dmitry
22.05.2017
13:26:44
ребя, подскажите структуру данных для хранения сообщений приложения типа чатик

Рома
22.05.2017
13:31:34
вариантов множество, у каждого плюсы и минусы, лично я бы выбрал таблицу

Snusmumriken
22.05.2017
13:47:33
В луа - всё есть таблица.
Можно организовать довольно забавную структуру:
1. Список участников чата
2. Список сообщений в чате
clientlist = {}
Client = {}
Client.__index = Client
-- Чтобы удалять сообщения у клиента, если сообщение в чате было удалено
Client.mmt = {__mode = 'kv'}
function Client:new(name)
local o = {name = name}
o.msgs = setmetatable({}, self.mmt)
return setmetatable(o, self)
end
function Client:add(msg)
table.insert(self.msgs, msg)
o.msgs = setmetatable({}, self.mmt)
return setmetatable(o, self)
end
chat_log = {}
function chat_log:add(msg, id)
msg = {text = msg, id = id}
local client = clientlist[id]
if not client then
client = Client(id)
clientlist[id] = client
end
client:add(msg)
table.insert(self, msg)
end

Alxius
22.05.2017
13:48:27
кстати а можно ли в LUA взять скажем массив a=b , а потом если a неудачно изменен просто взять и подать команду b=a?

Vadim
22.05.2017
13:49:15

fgntfg
22.05.2017
13:49:58
lUA

Alxius
22.05.2017
13:50:46
малополезныйсайт. я не спросил как что то сделать, я задал довольно простой вопрос, н е сложнее чем "какую ОС вы используете"

Alxius
22.05.2017
13:51:17
ожидалось "нет" либо "да"

fgntfg
22.05.2017
13:51:21
Нет

Alxius
22.05.2017
13:51:24
спасибо

fgntfg
22.05.2017
13:51:30
Можно и да, но сложнее
При a=b a и b начинают ссылаться на одну и ту же таблицу

Snusmumriken
22.05.2017
13:52:31
Массивы, функции и cdata всегда передаются как ссылки.
Можно копировать простой рекурсивной функцией.

Alxius
22.05.2017
13:52:44
1 раз я это обошёл с помощью for ... end думал есть другой метод попрорще

Snusmumriken
22.05.2017
13:54:26
Функция для простого копирования таблиц:
function clone (t) -- deep-copy a table
if type(t) ~= "table" then return t end
local meta = getmetatable(t)
local target = {}
for k, v in pairs(t) do
if type(v) == "table" then
target[k] = clone(v)
else
target[k] = v
end
end
setmetatable(target, meta)
return target
end
Но она не шибко хорошо работает с циклическими ссылками. Нужно ещё буфер замутить, куда складируются все скопированные таблицы данной таблицы.

Google

Vadim
22.05.2017
13:55:27
малополезныйсайт. я не спросил как что то сделать, я задал довольно простой вопрос, н е сложнее чем "какую ОС вы используете"
1) я собирался ответить и по теме, но меня отвлекли (хотя ставить это в претензию всё равно не стоит ибо никто не обязан отвечать)
2) я не знаю что такое LUA. Limited User Account? Love You Always? Logical Unit Application? Local Units of Administration? Last Universal Ancestor? Land Use Allocations? Limited Utility Assessment?
Именно поэотму я дал ссылку на официальную позицию разработчиков языка. Где прямым тектом написано:
> Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!

Admin
ERROR: S client not available

Alxius
22.05.2017
13:55:46
да не обычная таблица, спасибо. я чуть чуть по другому написал,не догадался в функцию обернуть.

Vadim
22.05.2017
13:56:02

Alxius
22.05.2017
13:56:40
т.е. LUA писать неправильно? и надо писать язык Луа (Lua)

Vadim
22.05.2017
13:56:43
а ещё можно сериализовать-десериализовать

Snusmumriken
22.05.2017
13:57:16

Vadim
22.05.2017
13:57:28

Snusmumriken
22.05.2017
13:58:11
Ой, ребят, не ссорьтесь.
Это явно не тот повод, по которому стоит устраивать дебаты.
Лучше обсудите, "Великолепен Снусмумрик, или всё таки гениален" : )

Alxius
22.05.2017
13:59:19
конечно великолепен)
я наконец вспомнил где я слышал имя, Муми-тролли

Snusmumriken
22.05.2017
13:59:51
Они самые.

Alxius
22.05.2017
13:59:57
(не путать с Лагутенко)
блин все равно как то до сих пор не верится что можно сколкьо угодно памяти использовать и что 2кб это не много

Snusmumriken
22.05.2017
14:01:51
С микроконтроллеров перешёл?
NodeMCU?

Alxius
22.05.2017
14:02:13
нет) мыслеено все время сравниваю с Z-80
(spectrum)

Snusmumriken
22.05.2017
14:02:26
А, точно, забыл

fgntfg
22.05.2017
14:09:07
L??

Google

Alxius
22.05.2017
14:09:28
+1

Влад
22.05.2017
14:11:40
а я вот еще и не перешел
у меня 128кб это дофига и надо разрезать на 250байт, чтобы передать по радио

Snusmumriken
22.05.2017
14:15:02
Хм. А у меня в RUDP-протоколе выставляется MTU, и пилится на пакеты по 0-8096 байт, потому что luasocket не тянет приём пакетов больше 8кб.

Рома
22.05.2017
14:30:45
кстати, насчет чатика (выше спрашивали), очень сложная, но интересная тема, как его реализовать максимально хорошо? Думаю, для этих целей подходит nanomsg и подобные mq, может что почитать посоветуете?

TheRainwildsKeeper
23.05.2017
16:10:13
https://habrahabr.ru/company/devconf/blog/328906/
Было?

Snusmumriken
23.05.2017
16:33:38
Угу

Group Butler [beta]
23.05.2017
20:21:29
Добро пожаловать в чат pro.lua, Roni_sl! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.