@ProLua

Страница 37 из 307
Wyldstyle
13.12.2016
13:02:09
hset need three arguments: - the hash name - the key - the value This is a redis hash: HASH:NAME key1 = value1 key2 = value2 key3 = value3 using db:hset('HASH:NAME', 'key4', 'value4') will result in this: HASH:NAME key1 = value1 key2 = value2 key3 = value3 key4 = value4

Но мне все-равно неонятно как её исправить

@mymedia

если Я скину файлик, можешь помочь?

Google
Wyldstyle
13.12.2016
13:06:25
фокс, еще один вопрос можно?

Какую строчку надо удалить, чтобы пользователи могли юзать команду?

if msg.chat.type == 'private' then return end if not roles.is_admin_cached(msg) then return end local hash = 'chat:'..msg.chat.id..':price' local text if blocks[1] == 'ad' then local key = 'ad' local ad = db:hget(hash, key) —check if ad is nil or nul if not ad then text = _("*No ad*") else local title = msg.chat.title:escape_hard('ad') text = _('_As advertising:_\n%s') end api.sendReply(msg, text:format(ad), true) end

Wyldstyle
13.12.2016
13:10:27
?

все

вопрос исчерпан

if not roles.is_admin_cached(msg) then return end вот это

но как убрать ошибку не понятно

ошибку про hset

fox.lua
13.12.2016
13:15:39
по-хорошему, её не убирать надо, а исправлять

Google
fox.lua
13.12.2016
13:15:41
нужно бы разобраться из-за чего она возникает, понять, хорошо это или плохо, а потом уж действовать

Wyldstyle
13.12.2016
13:16:01
и вопрос про параметры

Могу Я в одном файле .lua создать параметр и сделать возможность записи в него текста, затем в другой файл .lua импортировать первый и вызвать этот параметр? @mymedia

fox.lua
13.12.2016
13:23:01
что ты понимаешь под словом "параметр"?

Wyldstyle
13.12.2016
13:23:20
ну к примеру text = 'asdasdasd'

Ilya
13.12.2016
13:23:39
Это перменная

Wyldstyle
13.12.2016
13:23:54
ошибочка

Ilya
13.12.2016
13:24:09
почитай про модули.

Wyldstyle
13.12.2016
13:24:37
а где?

:D

fox.lua
13.12.2016
13:26:13
а где?
всё, что я знаю про луа, я узнал только из этого переведённого руководства https://ilovelua.wordpress.com/lua-5-3-%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE/

неплохо бы потратить часа два на чтение этого документа, чтобы досконально во всём разобраться

Wyldstyle
13.12.2016
13:26:55
спасибо

Народ, есть кто?

Mikhail
18.12.2016
16:08:22
Тебе зачем?=)

Wyldstyle
18.12.2016
16:08:51
Можете помочь плиз?

Octo@dshacks
21.12.2016
18:12:58
в луа есть что-то типа питоновского "".replace()?

fox.lua
21.12.2016
18:13:15
string.gsub?

Octo@dshacks
21.12.2016
18:14:04
Language: lua Source: print("ayy".gsub("lmao")) Errors: lua: source_file.lua:1: ')' expected near '.' Stats: Absolute running time: 0.14 sec, cpu time: 0 sec, memory peak: 3 Mb, absolute service time: 0,14 sec

Google
Octo@dshacks
21.12.2016
18:15:02
тут веселье в том

fox.lua
21.12.2016
18:15:05
там описывается и gsub

Octo@dshacks
21.12.2016
18:15:08
что я использую еще microlua

https://sourceforge.net/p/microlua/wiki/Tutorials/

и я вообще не понимаю что за херня с этой французской хренью

Yokai
21.12.2016
18:16:04
Language: lua Source: a = "test" print(string.gsub(a, "es", "no idea what to replace by")) Result: tno idea what to replace byt 1 Stats: Absolute running time: 0.04 sec, cpu time: 0 sec, memory peak: 3 Mb, absolute service time: 0,04 sec

Octo@dshacks
21.12.2016
18:16:26
посебо

хотя я подумол

как раз изучу си

Snusmumriken
21.12.2016
18:52:13
>print("ayy".gsub("lmao")) Точка работает с таблицами как доступ по ключу. Строки технически являются особым типом, похожим на таблицы наличием присобаченной метатаблицы. Но их нужно заключать в скобки и ставить двоеточие (передача в функцию себя первым аргументом) a = ('ayy'):gsub('y', 'lm') print(a:gsub('(lm)', '%1ao')) > almaolmao 2Да, чтобы работало: t = {} t:insert(10, 20, 30)необходимо объявлять таблицу как что-то подобное: t = setmetatable({}, {__index = table}) t:insert(10, 20, 30)Ибо сами по себе таблицы, в отличии от питона, не имеют методов, чтобы их можно было использовать как классы/объекты. Отписал для любителей питоносинтаксиса.

Snusmumriken
21.12.2016
18:59:27
Нет, тут всё просто и логично. Инфа сотка. Дёрнуть функцию из таблицы - tb.func() Использовать функцию как метод таблицы - двоеточие - tb:func() или, с тем же результатом - tb.func(tb). Советую освоить метатаблицы, как самый мощный инструмент lua. В языке есть некоторые проблемы, начиная с того что регулярки - не регулярки и довольно медленные, но это исправляется подключением либ.

Nikolay
22.12.2016
20:18:49
с фига ли регулярки - не регулярки?

grinchfox
23.12.2016
07:57:18
Свои особенные

Snusmumriken
23.12.2016
08:00:58
Ну, например, стандартная регулярка '/d{1, 5}' выглядит так: '%d%d?%d?%d?%d?'. Если тебе нужно от двух до пятидесяти повторений - изволь писать вручную каждый символ со значком вопросика, кроме первых двух. Часть символов (вроде "-") отсутствуют в обычных регулярках. Отсутствует выражения "and" и "or" в регулярках: str:find('abc|def') - не прокатит. Отсутствует стандартнейший string.split. Он, правда, заменяется итератором: function string.split(str, delm) local res = {} for line in (str..delm):gmatch('(.-)'..delm) do table.insert(res, line) end return #res>1 and res end Данное решение плодит много мусора на огромных строках, но короткое. Для меньшего количества мусора, приходится извращаться. Технически, регулярками можно назвать всё, куда можно пихнуть кусок выражения на Perl, и получить аналогичный перловому результат.

fox.lua
23.12.2016
13:03:16
> регулярками можно назвать всё, куда можно пихнуть кусок выражения на Perl в теории вообще-то регулярные выражения взялись из дискретной математики и к Perl'у вообще никак не привязаны

и кстати, что не так в предложенном выше решении?

ну кроме того, что в качестве delim могут быть всякие неожиданные шаблоны

Google
fox.lua
23.12.2016
13:04:48
да и в perl'е есть замена минусу из lua

Snusmumriken
23.12.2016
13:05:11
Дискретка и теория множеств)) Замена минуса - двумя символами. Ну, там .*? - делает звёздочку не такой жадиной (поведение сходно с "-" в lua). В общем, я к тому, что синтаксические различия уже дают разницу в регулярках. Ну, это не даёт возможности тупо скопипастить или даже перепарсить perl-регулярку чтобы сделать из неё lua-регулярку, если она не самая элементарная. Больше всего меня расстраивает отсутствие or, которое заставляет парсить по несколько раз. Я ещё и работаю с огромными документами, поэтому значительно чаще пользуюсь string.find, ибо быстрее match в несколько раз, и бинарным поиском, насколько это возможно (если есть всякие даты/время, и их можно выкрутить). Не все программисты проверяют только ввод в небольших полях (до 10к символов). На огромных доках 0.001-5Тб (вроде серверных логов), регулярки работают особенно медленно. Ну, надо тебе выяснить, на каком именно скрипте упала система неделю назад, а за это время набежала пара терабайт логов.

fox.lua
23.12.2016
13:13:00
может быть, для такого вообще не стоит использовать луа?

и да, зачем редактировать сообщение, так, что его смысл кардинально меняется?

Snusmumriken
23.12.2016
13:15:48
Не кардинально, дополняю. Можно использовать луа, как неимоверно удобные скрипты, что я и делаю. а) нет особо ничего что с этим справлялось по умолчанию, даже перл (разве что греп линуксовый), извращаться придётся в любом случае; б) есть либа LPeg; в) JIT.

Admin
ERROR: S client not available

fox.lua
23.12.2016
13:18:06
да и уведомления об изменениях не приходят

уходил — была одна строчка, а как пришёл — так тут целый трактат

Snusmumriken
23.12.2016
13:19:25
Извини : < Обычно пишу ночами, когда никто не читает. Привычка много-много раз редактировать, пока совсем не закончу мысль. То что не приходят уведомления об изменениях - это же отлично. Прикинь, сколько бы жужжал твой телефон на пяти правках.

fox.lua
23.12.2016
13:20:01
у меня нету телефона ¯\_(ツ)_/¯

Snusmumriken
23.12.2016
13:21:57
Меня бесят жужжащие конференции, которые доведут до оргазма любого кто прикоснётся к моей мобиле, поэтому отсылаю одно сообщение, которое сделает только один короткий *жуж*, вместо пулемётной очереди: *жужужужужу*. Если надо - редактирую. Это человеческое уважение и ваще. Кому надо - перечитают пост. Не надо? Даже не посмотрят. Всё ок.

∀RTUR
25.12.2016
19:21:49
¯\_(ツ)_/¯

Octo@dshacks
28.12.2016
13:14:38
Как в луа посчиать CRC32 файла?

Disinterpreter
28.12.2016
13:14:59
Как в луа посчиать CRC32 файла?
https://github.com/openresty/lua-nginx-module/blob/master/t/lib/CRC32.lua

?

Octo@dshacks
28.12.2016
13:15:33
полагаю это можно свистнуть в свой проект?

Disinterpreter
28.12.2016
13:15:38
да

Мерлин
28.12.2016
13:15:42
Как в луа посчиать CRC32 файла?
https://luarocks.org/modules/hjelmeland/crc32

Google
Octo@dshacks
28.12.2016
13:16:07
у меня веселая платформа такая

на ней нет luarocks

Мерлин
28.12.2016
13:16:31
Тогда используй из nginx Но оно тормозное

Octo@dshacks
28.12.2016
13:16:57
128 мб озу хватит?)

Disinterpreter
28.12.2016
13:17:09
должно ?

http://lua-users.org/lists/lua-l/2006-06/msg00298.html

Мерлин
28.12.2016
13:18:13
128 мб озу хватит?)
Если будешь считывать файлы в память - то нет

Если он большой, конечно

Ilya
28.12.2016
13:18:40
Какой статус сейчас у luaJIT на 64 bit?

Octo@dshacks
28.12.2016
13:22:02
https://github.com/Rinnegatamante/CHMM2/blob/master/source/downloader.lua

9 строка

разве есть такая либа встроенная?

или я идиот?

я идиот

это либа из lpp3ds

ну значит и хорошо

Nikolay
28.12.2016
13:45:25
прочитал ответы только сейчас, спасибо за пояснения по регуляркам, я особенно детально в Луа их не изучал.

Страница 37 из 307