
Tverd
08.12.2017
12:20:52
просто - удален...

Aleksey
08.12.2017
12:21:28
Класс?
класс удален?

Philipp
08.12.2017
12:23:43
Объект

Google

Tverd
08.12.2017
12:23:51
ну всякое бывает ))) в короне бывает что пустая таблица приходит, ибо удален объект, а ссылка осталась... можно самому удалить поле. В общем проверь что приходит-то. Ну да, объект....

Aleksey
08.12.2017
12:25:05
ну в этой же функции я делаю
if aData and bData then
т.е. вроде nil быть не должно

Philipp
08.12.2017
12:26:48
Ну можешь сделать еще if aData.contact then

Tverd
08.12.2017
12:26:54
сначала идет
if a:isDestroyed() or b:isDestroyed() then
return
end
if a:getBody():isDestroyed() or b:getBody():isDestroyed() then
return
end

Philipp
08.12.2017
12:27:14
Кстати, да

Tverd
08.12.2017
12:27:29
вот а или b nil - то что будет?

Aleksey
08.12.2017
12:27:55

Tverd
08.12.2017
12:28:03
в общем что бы понять что-то - напиши ошибку и в какой строке

Aleksey
08.12.2017
12:28:22
т.к. там логика игры должна вызываться

Tverd
08.12.2017
12:28:58
так где ошибка-то?

Google

Aleksey
08.12.2017
12:29:08
ошибка attempt to call method 'concat' a nil value
строка
aData:contact(bData)
пардон ошибка attempt to call method 'contact' a nil value

Tverd
08.12.2017
12:34:44
да, нет этого метода у aData
теперь самое неприятное, понять почему его там нет )

Aleksey
08.12.2017
12:35:06
вот я как раз эти и опечалился :(

Tverd
08.12.2017
12:35:19
кто удалил, где и зачем

Aleksey
08.12.2017
12:35:19
он в одном случае есть
скорее всего

Tverd
08.12.2017
12:36:43
Ну тут я уже не помогу... Придется искать самому

Aleksey
08.12.2017
12:37:48
ладно буду искать

Tverd
08.12.2017
12:42:44
вот! бывает ))))

Ilya
08.12.2017
16:14:07
Я не въезжаю в первую функцию
nkf, видимо, делает URL-кодирование, только почему-то вместо % там =, а также разбивает на строки, оставляя = в конце. sed 's/=$//' удаляет = в конце. tr '=' '%' заменяет все знаки равенства на знак процента. paste ... снова объединяет строки в одну. И последний sed заменяет percent-encoded символы в те, которые, видимо, разрешены в URL.

Philipp
08.12.2017
16:16:44
Хм, понятно, спасибо

Ilya
08.12.2017
16:17:20
А зачем тебе это? Да еще в виде шелл-скрипта?

Philipp
08.12.2017
16:19:01
Затем, что где-то в этом коде теряется символ переноса строки

Ilya
08.12.2017
16:21:23
наверное на этапе paste
Можно использовать https://luarocks.org/modules/gonapps/gonapps-url-encoder вместо этого (или взять оттуда код и допилить до нужного уровня - там вроде все просто).

Google

Philipp
08.12.2017
16:39:41
Та не моя приложуха. Нужно шелл-клиент для твиттера, который я не могу найти

Чай
08.12.2017
16:42:42

Philipp
08.12.2017
16:56:31
В ЛС перейду

Group Butler [beta]
09.12.2017
12:55:04
Добро пожаловать в чат pro.lua, Алексей! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Алексей
09.12.2017
13:18:55
добрый день

Чай
10.12.2017
08:38:14
Добрый день.
/me попробовал использовать IDEA с EmmyLua и нашёл её весьма удобной для навигации по запутанным исходникам. Например, может находить глобальные переменные, объявленные где-то там, неизвестно где, да ещё и подсказку по аргументам в любом месте проекта дать.

brestows
10.12.2017
12:07:03
Привет, народ есть код:
local query ="UPDATE table SET status=1"
local res=assert(con:execute(query))
res:close()
Получаю ошибку

FailsBot
10.12.2017
12:07:26
Чай попробовал использовать IDEA с EmmyLua и нашёл её весьма удобной для навигации по запутанным исходникам. Например, может находить глобальные переменные, объявленные где-то там, неизвестно где, да ещё и подсказку по аргументам в любом месте проекта дать.

brestows
10.12.2017
12:07:36
Attempt to index local res

Snusmumriken
10.12.2017
12:08:45
А con:execute должна возвращать хендлер который можно закрыть?

brestows
10.12.2017
12:09:17
А разве нет?

Snusmumriken
10.12.2017
12:09:24
А разве да?
Это явно не стандартная библиотека => никто не знает о чём ты.
Читай референсы по тому что ты используешь.

brestows
10.12.2017
12:11:10
Luasql

Snusmumriken
10.12.2017
12:11:34
Ну вот я, например, этим никогда не пользовался.
Читай референс.

brestows
10.12.2017
12:12:39
Да там как бы читать особо нечего

Snusmumriken
10.12.2017
12:13:56
А, блин, как раз вижу ))
Ну тут может вернуться курсор.

Google

Snusmumriken
10.12.2017
12:15:05
А ты уверен что это та либа? : )
А ещё, смотри что оно может возвращать кроме курсора:
Количество колонок, подвергшихся влиянию выполненной команды.
Причём возможно оно возвращает не курсор а nil/false.
Делай проверки.
Карочи, проверяй всю фигню.
Ты бы лучше попробовал научиться разбираться с подобным самостоятельно.
Вот как бы ты стал решать такую проблему, если бы у тебя не было этого чата? Распиши алгоритм своих действий.
Эй, @brestows, ты где?

brestows
10.12.2017
12:25:55
Я уже решил все :)

Snusmumriken
10.12.2017
12:31:21
Я уже решил все :)
Ну восхитительно : )
А как ты решил?
Ну пожалуйста, распиши алгоритм работы с чёрным ящиком, коим является пользование любой библиотекой.

fgntfg
10.12.2017
12:32:42
Снус в режиме учителя

Snusmumriken
10.12.2017
12:33:23
Снус в режиме придурка, который хочет чтобы другие люди шевелили мозгами и задавали те вопросы, с которыми ДЕЙСТВИТЕЛЬНО не могут справиться : )

Roman
10.12.2017
12:33:54
а вот скажите, что с корутинами в луа?

Snusmumriken
10.12.2017
12:34:12
Норм всё. Хочешь корутинов - делай корутины. Специальный тип данных под них - присутствует.
Запускай - не хочу.
Правда, это единственная часть ванильной луа, которую я ковырял меньше получаса и плохо знаю, потому что лично у меня нет нужды в них: имхо, это очень много goto в удобной оболочке, без которых легко можно обойтись, ничего не потеряв.

fgntfg
10.12.2017
12:36:43
Снус, а ты вебсокеты на Lua не ковырял?

Snusmumriken
10.12.2017
12:36:53
Вебсокеты - в нгинксе?
Или просто луасокеты?
Луасокеты - да. Очень много. Каждый день ковыряю, это мой хлеб и частично винишко.

fgntfg
10.12.2017
12:37:17
Нет, реализацию websocket server на lua

Snusmumriken
10.12.2017
12:37:40
Не ковырял.
Кинь линк на сурц.

fgntfg
10.12.2017
12:38:06
Их нет у меня.
Я ищу просто как с меньшим количеством костылей сделать асинхронный websocket чтоб слать на/с клиенты инфу
Пока побеждает python

Snusmumriken
10.12.2017
12:41:33
Ммм. Думаю он победит уже тем, что там уже всё есть.
На луях придётся сначала запилить асинхронный сокет, а потом добавить туда "веб"-протокол.
В общем-то, ничего сложного, работы на пол часа-час.
С lanes будет ещё и бешено быстрым/труЪ-асинхронным.
Есть вот эта штука:
https://github.com/lipp/lua-websockets
Но там куча ненужных внешних зависимостей, ирл достаточно было бы сделать две зависимости на почти стандартные штуки: lanes и socket, собственно.

fgntfg
10.12.2017
12:43:29
Ну вот да. На самом деле взять коробку и развернуть её - не проблема. Проблемы начинаются когда коробку надо перепилить, поженить с базой и вот это вот всё.

Roman
10.12.2017
12:47:53

Google

Snusmumriken
10.12.2017
12:48:42
Тогда сам смотри :P

Roman
10.12.2017
12:57:36

Snusmumriken
10.12.2017
12:58:15
Ну дык. И она использует корутины от libuv, есть такое.
Но тем не менее, смотри доки. Тут мало кто даст тебе более подробную информацию чем доки.
Вот, кстати, и они: https://github.com/luvit/luv/blob/master/docs.md

Georgy
10.12.2017
14:57:58

Snusmumriken
10.12.2017
14:58:19
Это тебе не любой чат, тут есть я.

Azoyan
11.12.2017
18:27:57
всем привет! Задача такая: играет фоновая музыка, хотелось бы, чтобы звук подбора монетки гармонировал с фоновой мелодией, для этого я выписал хронометраж трека и какой звук воспроизвести на текущей секунде. Как это сделать? На С++ я бы сделал это так: https://ideone.com/qxSoM6

Vadim
12.12.2017
04:23:13
Я тебя наверное уже достаточно достал. Но если будет время попроси "Админа @pro.lua" меня разбанить. Буду хоть в режиме read only сидеть

Snusmumriken
12.12.2017
04:30:29
Лол, он ещё тут : )
Ну лады, пущай читает.

Tverd
14.12.2017
07:10:55
Всем привет! Кто-нить писал что нить на ecs? Как и где обрабатывали события от движка? Например клацнули мышью на спрайте или по сети пришел пакет?

Snusmumriken
14.12.2017
07:35:42
Там, обычно, хендлеры-колбеки. ЕСЦ - концепция, а не конкретная технология.

Elias
14.12.2017
08:06:56
И события можно обрабатывать в системах часто. Или в машинах состояний.
Типа если у тебя выстрел стоит на клик, то на пушка подписывается на ивент и стреляет в GunIdleState. Тут ECS мало влияет на всё

Tverd
14.12.2017
08:22:51
Ага, в общем система отлавливает события, гуд, спасиб
нужно было развеять сомнения )))