Dmitriy
что то не получилось
Snusmumriken
или я что то упустил?
Код выполняется последовательно
Snusmumriken
Ты вызвал функцию до её объявления
Dmitriy
тьфу, привычка с js
Dmitriy
Snusmumriken
А я знаю что всё круто )
mva
не всё
mva
вторая строка с пробела начинается :)
Dmitriy
Все верно - тестовая строка для понимания того, что ничего лишнего не отрежется
Dmitriy
ну и я тестировал функции деления по пробелам тоже
Dmitriy
А я знаю что всё круто )
Блин, круто получилось - спасибо! Работает идеально
Dmitriy
Dmitriy
Snusmumriken
Dmitriy
Теперь при добавлении в ВКС нового контакта - его номер и имя автоматически выведутся на панель
mva
что за девайс такой с конфигом на lua?
Dmitriy
панелька какая-то с тачем.
Dmitriy
дали задачу за 2е суток автоматизировать конференц -комнаты с импользованием данного девайса
Dmitriy
Товарищи, помогите со списком, там трабл с буфером обнаружился... я за целый день так и не смог понять я получаю строку типа ,pan1, 1 room1 Как мне сделать следующее - смотрю на строку - если там pan1 - то я беру значение, из него извлекаю индекс и по этому индексу в addrbook={} записываю значение?
Dmitriy
это ipairs или find использовать?
Dmitriy
в js удобно использовать push
mva
1) "pan1" это конкретная строка которую нужно конкретно искать, или это пример из миллиарда возможных вариантов? 2) что именно в этом контексте понимается под "значением"?
Dmitriy
ну - pan1 - это ключ, чтобы девайс понимал, что это ему
Dmitriy
тут все c# или Нодисты - как я )
Luсky
тут это в чятике
Luсky
на удалёнку
Dmitriy
а понял
Dmitriy
проверку я смог сделать
Dmitriy
Теперь кажется понял как и индекс отдуплить
Dmitriy
index, data = str:find("(%d+) (%S)")
Dmitriy
:match не?
Щас почитаю
Dmitriy
index, data = str:match("pan1,(%d+) (.+)") Так?
mva
Кстати, а есть тут кто-нибудь, кто шарит в (или хотя бы слышал о) OpenResty? Ну или хотя бы просто умеет в Lua на уровне между джуниором и миддлом? Условно, способный набросать какой-нибудь простенький API (а-ля что-нибудь из оперы if param[abc] == "moo" then local res = something() return res end)? Особо большой скилл не требуется, но хотя бы немножко, чтобы не тратить по полгода на каждую мелкую фичу.
Snusmumriken
:match не?
find вернёт подстроки если их сделать в скобочках, но первым пихнёт индекс
mva
ему индексы файнда не нужны :)
mva
ему сами сматченные строки нужны
Snusmumriken
Ну ды
mva
так что с файндом это было бы _, _, index, data=...
mva
По сути вот пример всего основного функционала опенрести. Больше не нужно в 99.5% случаев для апишки простых приложений, разве что подрубить бд и выдрать данные из неё.
да я-то знаю. Мне просто нужен какой-нибудь джуниор для пары поделок, на вырост. А тебя слишком дорого брать, у нас бюджет на эти поделки слишком маленький :)
Snusmumriken
И я слишком ленив для чего-то что прям не адово интересно, у меня мотивационные проблемы.
Snusmumriken
Но я прост даю пример для новичков, тут нет ничего шибко непонятного, плюс примеры функций которые уже есть в ресте вроде парсилок ури.
Dmitriy
Dmitriy
function on_client_recv_data(packet) local char = string.char for i = 0, #packet do packet[i] = char(packet[i]) end str1 = table.concat(packet) index,data = str1:match("pan2,(%d+) (.+)") if index ~=nil then addr[tonumber(index)] = index.." "..data end end
Snusmumriken
Выделил бы в отдельную функцию, типа function decode_packet(packet) local char = string.char for i = 0, #packet do packet[i] = char(packet[i]) end return table.concat(packet) end : )
mva
я вот так нарисовал)
на 21 строке какое-то извращение :)
Adapa
🤔❓
Igor
🤔❓
Ошибка вроде как максимально прозрачно говорит, в чем дело
Snusmumriken
🤔❓
Оно вызывает сишную функцию strftime. И функцию ОС localtime.
Adapa
Это получается все сишные проги, использующие эту функцию, вывалятся с ошибкой после 2038 года? Классно сделано.
mva
$ lua5.1 Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio > =os.date('%Y',2148000000) 2038 > return os.date('%Y',3248000000) 2072 >
mva
обмажутся всякими недo-ОС, а потом обвиняют Си 🤷‍♂️
Adapa
t = 2147000000 t = os.date('*t', t) print(t['year']) t = 2148000000 t = os.date('*t', t) print(t['year']) Так тоже ошибка. Печаль-беда.
mva
точнее, "для разработки без обмазывания миллиардом костылей и воркэраундов"
mva
говнаная libc у неё далеко не единственный косяк
Adapa
Ну может это только у тех кто использует семерку 32 битную, как я. На окнах поновее может такой проблемы не быть)
mva
в 2023 году, на 64битном железе использовать 32битные ОС и жаловаться на 32битный счётчик времени - такое себе
mva
впрочем, это не отменяет других косяков венды 🤷‍♂️
Igor
говнаная libc у неё далеко не единственный косяк
Он говёный потому что делали его для галочки, венда поощряет использование своего api. Мелкие очень коварны.
Igor
Он как бы есть, но обеспечение совместимости практически на нулевом уровне.
Adapa
Вы правы. 32 битный int чуть переполняется 🤷🏻
Igor
Я ещё в году эдак 12ом ушёл с семёры