
Vadim
22.07.2017
07:24:55
вот то разбитое корыто, у которого я сижу сейчас https://gist.github.com/raw/61de32c40e16b5d9bdbaaf89e2944da2
но пока я обдумывал (и писал на англоязычный Lua-канал во фриноде) я понял, что только внутри кавычек менять в любом случае недостаточно
нужно именно что заменять вхождения < / > внутри тегов. Например <a <%some_template_engine_marker%>>moo</a>, а не только <a id='foo<>bar'>moo</a>
и что-то я, вот, застрял с придумыванием подходящего паттерна

Google

Vadim
22.07.2017
07:56:28
эх... что-то что там молчание, что тут ?

bebebe
22.07.2017
08:15:44

Vadim
22.07.2017
08:16:04
вот только lua pattern'ы - не регексы
а у меня цель без внешних библиотек

Philipp
22.07.2017
10:06:07
Дак луа-паттерны не сильно отличаются от рекегсов
Я тебе попозже скину вариант в лс

Vadim
22.07.2017
10:10:48
@RussDragon вообще, я уже решил по-другому, но будет интересно, да :)

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

Aunt
22.07.2017
13:16:41
Ребята кто шарит написание серверов для Garry's Mod&

Philipp
22.07.2017
13:17:03
Пару человек тут точно шарили. А что конкретно нужно?

Aunt
22.07.2017
13:17:36
Написание скрвера)0)

Philipp
22.07.2017
13:17:43
Бюджет?

Google

Aunt
22.07.2017
13:18:22
Сначало разговор)

Philipp
22.07.2017
13:18:47
Обычно такие диалоги кончаются фразой "Там же нетрудно, сделай за так))"

Aunt
22.07.2017
13:19:50
Я не отказываю в деньгах мне нужен человек который будет заинтерисован

Philipp
22.07.2017
13:24:20
Ну, можешь написать мне в лс, поговорим, а там, если всё ок, попробую попинать людей, которые этим занимались/занимаются)))
А может и сам возьмусь

Vadim
22.07.2017
15:22:48
вот заняться людям нечем :)
кстати, @RussDragon, что думаешь? https://github.com/msva/lua-htmlparser/blob/master/src/htmlparser.lua#L36-L58

Philipp
22.07.2017
15:34:50
Хм, прикольное решение. Хотя я лично стараюсь не использовать объявление функции внутри другой функции, если только это не необходимо

Vadim
22.07.2017
16:08:09
алсо, куда нажать гитхабу чтоб вимовые коммандлайны в комментах понимал? ?
а то восьмипробельный таб слишком уж широко

Group Butler [beta]
22.07.2017
16:09:33
Добро пожаловать в чат pro.lua, Killua! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Рома
22.07.2017
22:01:16
с путями и предзагрузкой помогите плиз!
я такой пишу в консоле луа:
for k in pairs(package.loaded) do print(k) end
и он выдает все загруженые
среди них нет table.clear
print(package.loaded.table.clear) -- nil
а теперь я такой смотрю package.path
> print(package.path)
./?.lua;/home/romeo/.lua/lib/?.lua
в этих папках нет никакого table/clear
и теперь реквайрю:
require('table.clear')
и все в порядке!
Откуда он там берется?
проблема в том, что в openresty я его использовал во многих местах и теперь после установки torch он недоступен, ищу как его вернуть
а в обычной консольке луа доступен

Snusmumriken
22.07.2017
22:08:21
package.path - список путей загрузки.
Это строчка, где пути перечислены через точку с запятой.

Рома
22.07.2017
22:10:41
table.clear это такая штука, которая прямо в самом луаджите встроена, у неё вроде нет отдельных lua файлов
неоткуда брать этот скрипт :(

Snusmumriken
22.07.2017
22:11:05
Нет функции table.clear.

Рома
22.07.2017
22:11:40
> print(table.clear)
function: builtin#97

Google

Snusmumriken
22.07.2017
22:11:59

Рома
22.07.2017
22:12:14
require('table.clear') сперва
появилась так?

Snusmumriken
22.07.2017
22:12:41
Ничось. Кстати внезапно да.
Но не проще ли делать так: t = {}?

Рома
22.07.2017
22:13:27
оптимизация должна быть оптимальной!

Snusmumriken
22.07.2017
22:14:07
Не говори глупости, эта штука создаёт таблицу, а сборщик мусора вычищает старую, когда придёт её время.
И да, зачем тебе это?

Рома
22.07.2017
22:15:11
Создание таблицы - самая дорогая операция в луа.
Уже давно использую clear, а из-за торча оно отвалилось.
Не переписывать же обратно, надо выяснить как оно могло отвалиться

Philipp
22.07.2017
22:15:40
А что делает clear?
Не t = {} ли?

Snusmumriken
22.07.2017
22:16:08
Ну, ясное дело что вычищает таблички )))
Типа, создать таблицу и удалить старую - жутко дешевле чем очистить, хотя хз

Рома
22.07.2017
22:16:30
for k, v in pairs tab
tab[k] = nil
это, только оптимальным путем

Philipp
22.07.2017
22:16:50
Так а чем тебе не нравится t = nil? Или t = {}?

Рома
22.07.2017
22:17:15
чтобы новую таблицу не создавать

Snusmumriken
22.07.2017
22:17:16
Карочи, Ром, что ты пишешь такое, что тебе это критично?

Рома
22.07.2017
22:17:24
критично!

Snusmumriken
22.07.2017
22:17:44
Давай рассказывай, ты небось оптимизируешь то, что не нужно оптимизировать ))

Рома
22.07.2017
22:18:01
мне важно и интересно знать, почему этот require работает в консоли и не работает теперь в resty, когда вчера работал

Snusmumriken
22.07.2017
22:18:41
Потому что выведи в лог resty package.path.
И package.preload, уж заодно. Мб когда ты реквайришь торч, он перезаписывает эту лабуду.

Рома
22.07.2017
22:19:56
я его не реквайрю, я его только установил чтобы почувствовать себя владыкой нейросетей, и в процессе установки пришлось все конфиги луа, луарокса, кучу всякого менять

Philipp
22.07.2017
22:20:22
Это квест, отсекает слабых духом

Google

Snusmumriken
22.07.2017
22:20:31
Ну и радуйся что станешь сильнее )))

Philipp
22.07.2017
22:20:56

Рома
22.07.2017
22:24:44
> print(require('inspect')(package.preload))
{
ffi = <function 1>,
["jit.profile"] = <function 2>,
["jit.util"] = <function 3>,
["table.clear"] = <function 4>,
["table.new"] = <function 5>
}
да, круто, это явно лазейка к решению
и в рести нужного нет
значит... там другой луа стоит!
как теперь узнать что за луа стоит?
LuaJIT 2.1.0-beta2 вот такое чтобы получить

Philipp
22.07.2017
22:27:20
print(_VERSION)?

Admin
ERROR: S client not available

Рома
22.07.2017
22:27:38
Lua 5.1 - не то
надо полное имя

Philipp
22.07.2017
22:28:15
Под полным именем ты понимаешь интерпретатор?
Луа, он, как бы, и в африке - Луа ))

Рома
22.07.2017
22:28:33
ну это LuaJIT 2.1.0-beta2

Philipp
22.07.2017
22:31:29
@Snusmumriken

Snusmumriken
22.07.2017
22:51:14
В рести - свой билд луаджита, если что. Там другой интерпретатор и всё такое.

Рома
22.07.2017
22:51:48
ну не совсем, это я один файл переименовал вчера, вот рести его и не находило и использовало системный
можно пруф что у них luajit пропатченный?

Philipp
22.07.2017
23:16:45

Snusmumriken
22.07.2017
23:37:27

Google

Vadim
23.07.2017
03:25:52
Рома
$ for v in 5.{1..3} jit; do echo lua${v}:; lua$v -e 'f=require"table.clear"; print(table.clear)' 2>&1 | grep -v 'no f'; echo '==='; done
lua5.1:
lua5.1: (command line):1: module 'table.clear' not found:
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: ?
===
lua5.2:
lua5.2: (command line):1: module 'table.clear' not found:
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: in ?
===
lua5.3:
lua5.3: (command line):1: module 'table.clear' not found:
stack traceback:
[C]: in function 'require'
(command line):1: in main chunk
[C]: in ?
===
luajit:
function: builtin#95
===
JFYI
это есть ТОЛЬКО в luajit
обв. в твоём торче не jit


Snusmumriken
23.07.2017
03:34:50
> $ for v in 5.{1..3} jit; do echo lua${v}:;
Что это? Кусочки php?

Рома
23.07.2017
08:39:12
в остальных местах beta-2
а в рести обычный всеми любимый luajit, но во время запуска рести его ищет непонятным образом:
libluajit-5.1.so.2
вот такую штуку ищет, почему именно .so.2 - непонятно, что за суффикс .2 часто всплывает - тайна

Vadim
23.07.2017
08:56:44
алсо, beta1 - старьё

Philipp
23.07.2017
10:49:09

Рома
23.07.2017
13:15:35
никому случайно не приходилось из рести емейлы отправлять?

bebebe
23.07.2017
13:15:59
если бы и нужно было, я бы это делал через sockexec

Рома
23.07.2017
13:17:39
нельзя же все подряд в шелл системы перенаправлять

bebebe
23.07.2017
13:25:01
конечно нельзя, а вот почту можно
и даже нужно