
Tverd
25.05.2017
13:33:15
но идея хорошая

Snusmumriken
25.05.2017
13:33:43

Tverd
25.05.2017
13:34:18
да ладно

Snusmumriken
25.05.2017
13:35:04
В 5.1 отсутствует __gc, но впиливается хаком с newproxy, и __pairs/__ipairs.

Google

Tverd
25.05.2017
13:36:38
это понятно, но вялые таблицы...

Snusmumriken
25.05.2017
13:38:32
Я люблю вялые таблицы! Когда они перестают быть нужными, они очищаются! А сборщик мусора раз в несколько минут/часов очищает мусор. Согласись, генерировать маленькую функцию раз в несколько минут/часов - это не напрягает пеку.

Tverd
25.05.2017
13:39:05
не, эта штука полезная, не спорю, но я где-то вычитал и вбил себе в голову, что они мне на 5.1 не доступны...

Snusmumriken
25.05.2017
13:40:05
У меня обратная проблема: после love2d, я почему-то думаю что мне в обычной lua доступно значительно больше, чем в действительности.

Tverd
25.05.2017
13:41:24
это бывает )

Snusmumriken
25.05.2017
13:46:52
У меня такое ощущение, что от обилия синтаксического сахара я скоро получу синтаксический диабет. И мне понадобится синтаксический инсулин вида "десять лет программирования на брейнфаке".

Рома
25.05.2017
13:53:30
брейнфак это синтакцический перец для сишки

The Dude
25.05.2017
14:01:43
А че, до сих пор, нмкто не портанет стандартную либо от другого языка?
От питона, например.
Биндинги перебить на луашные и все.
Там же либа на сях написана, насколько я помню.

Snusmumriken
25.05.2017
14:02:45
Она лезет в ядро, ты в курсе? То есть надо полностью переписывать либы, на луёвые вызовы вместо питоновых.

The Dude
25.05.2017
14:02:57

Google

The Dude
25.05.2017
14:03:08
Что значит "в ядро"?

Snusmumriken
25.05.2017
14:03:22
LuaState и аналог у питона.

The Dude
25.05.2017
14:03:26
Ну да.
Я про это и говорю.

Snusmumriken
25.05.2017
14:03:47
Дык разное всё, и модель стека разная. Переписывать дофига.

The Dude
25.05.2017
14:03:48
Логика то самой либы вне ядра.
Она только пихает в стэйт результат
Я думаю переписывать всю либу трудозатратнее, чем биндинги.

Snusmumriken
25.05.2017
14:04:44
А иногда - либа дёргает lua-функции из сишки, для каких-то целей. А если эта функция работает через сишное ядро луа, то и результат должен быть соответствующим. Такое тоже бывает.
В обратную сторону аналогично.

The Dude
25.05.2017
14:05:33
С этим у луа ваще проблема - нет нормальной, модульной, стандартной либы.

Snusmumriken
25.05.2017
14:07:31
io, table, string?
Или модульной - вызываемой через require (сидящей в package.preload)?

The Dude
25.05.2017
14:08:01
Модульной - слабосвязанной, с подключением отдельных модулей.

Snusmumriken
25.05.2017
14:08:13
Дистрибутив станет весить 100500 мегабайт, а для твоих целей всегда есть luarocks/luapower/luaforwindows.

The Dude
25.05.2017
14:08:13
Хочешь сеть - на сеть.

Snusmumriken
25.05.2017
14:08:29
luasocket - практически стандарт. Бери и ставь.

The Dude
25.05.2017
14:08:36
Либо даже линковать модули.

Snusmumriken
25.05.2017
14:09:07
Ставишь либы через luarocks. Там приличная база, и оно почти так же как pip, сразу компилит тебе всё.

The Dude
25.05.2017
14:09:22
А не стандартная библмотека.

Google

Snusmumriken
25.05.2017
14:09:48
Спроси у Роберто Иерузалимски, почему он не делает большую стандартную либу.

The Dude
25.05.2017
14:09:55
И это очевидно, из назначения языка :)

Snusmumriken
25.05.2017
14:10:23
У них политика супер-лёгкости языка, он не воспринимается как самостоятельный.

Tverd
25.05.2017
14:10:33
вот! не делайте из луа язык общего назначения )

The Dude
25.05.2017
14:10:34
Но луа все больше пытаются в общего назначения запихнуть.

Snusmumriken
25.05.2017
14:11:14
Хех, а я - самый главный вытаскиватель.

The Dude
25.05.2017
14:12:04
Не вижу проблемы разрабатывать либу отдельно, а кор языка отдельно.

Snusmumriken
25.05.2017
14:12:28
Так и происходит, только либы делает комьюнити.

The Dude
25.05.2017
14:14:14
Ладно, проехали :)

Snusmumriken
25.05.2017
14:15:05
В общем, считай луа - домашним проектом.
Там нет тех мощностей разработчиков языка и спонсоров как у питона, потому что пиара особо нема. У питона такая огромная стандартная либа потому, что Гвидо был много кем спонсирован, раскручивался в своё время до опупения и всё такое.

The Dude
25.05.2017
14:16:09
Но ведь ю ноу айм э дримееееер

Рома
25.05.2017
14:17:18
Не надо его недооценивать, пожалуйста, есть все необходимое и намного больше, намного больше, много чего есть. Один минус - часто написано коряво и с ошибками, но это детали.

Snusmumriken
25.05.2017
14:18:25

Рома
25.05.2017
14:19:00
лол
так а чего не хватает?
честно, не замечал особой нехватки какой-то библиотеки

The Dude
25.05.2017
14:19:54

Snusmumriken
25.05.2017
14:20:03
"Его" - кого? Луа?
> и намного больше, намного больше, много чего есть.
То самое забавное построение.
То есть, более-менее понятно, но блин : )

Google

Рома
25.05.2017
14:20:04
может это все мой дух велосипедиста, не нужны микролибы для чесания левой пятки
Я не знаю, какого рода Луа, склоняюсь, что женского, но использую любые роды)

The Dude
25.05.2017
14:21:15
Луна.

Рома
25.05.2017
14:21:29
а знаешь ли ты, какие в португальском роды?

Snusmumriken
25.05.2017
14:23:29
Во французском - la lune, сомневаюсь что в других латинских языках она ещё мужского.
a lua - женский.
o lua - был бы мужской
> o estudante, a estudante студент, студентка, а гугл-транслейт предлагает a lua к луне.

Рома
25.05.2017
14:35:25
pa'QIS на клингонском, это важно

The Dude
25.05.2017
14:39:49

Vadim
25.05.2017
17:27:49
что-то я тут пытаюсь придумать как бы в resty ловить трейсбек не только в лог, но и при желании срендерить его в выхлопе, но что-то пока фигово выходит >_>

Admin
ERROR: S client not available

Рома
25.05.2017
17:45:44
я делал такую штуку, может подскажу что

Vadim
25.05.2017
18:50:10
Рома ну, мне бы посмотреть код, впечатлиться и по мотивам написать...
А то я тут пока извращениями с xpcall, debug.getinfo() и т.п. занимаюсь :)

Рома
25.05.2017
18:50:26
ну так, верный путь
xpcall main, catch - главный луп
catch = (e) ->
i = 1
t = 0
trace = {}
import getinfo from debug
while true
i += 1
info = getinfo i
if i == 2
space = e\find ' '
info.err = e\sub space + 1
import func from info
t += 1
trace[t] = info
break if func == main
и тут делай со стрейсом что хочешь
я не помню уже как оно работает, но работало
сейчас меня ещё одна идейка посетила
есть куча тупых вконтактов-фейсбуков-скайпов-вайберов-вотсапов-телеграмов и тычячи их.
зачем столько - никогда не понимал.
где есть подсветка синтаксиса?? нигде!
(гитхаб это не мессенджер)

Vadim
25.05.2017
18:57:11
> import from
внимание: вас укусил питон! срочно пройдите в отсек дезинфекции
:)

Рома
25.05.2017
18:58:20
чсх, питон в глаза не видел

Google

Рома
25.05.2017
18:59:02
мне нравится так писать, красивее чем a = b.a

Vadim
25.05.2017
18:59:10

Темиргали
25.05.2017
19:00:47

Andrey
25.05.2017
19:04:08

Snusmumriken
25.05.2017
19:07:21
То чем можно вдохновляться: https://bitbucket.org/rude/love/src/10f58e78bbfd82b681a45aeaf1177a765726bb31/src/scripts/boot.lua?at=default&fileviewer=file-view-default
Скрипт запуска love-проектов.
Там в конце нормальный дебаггер с полным стактрейсом.

Vadim
25.05.2017
19:10:26
а какие функции "напатчил"?
ну, для начала научил его собираться с системными кутями, без их патчинга и без сборки своих и статической линковки к ним. Потом сделал чтобы балуны были по ширине текста, а не полтора пикселя (утрировано). Ну и так по мелочам.
Пытаюсь, вот, ещё от gtk-диалога избавиться :)

Рома
25.05.2017
19:13:34

Snusmumriken
25.05.2017
19:14:04

Рома
25.05.2017
19:14:15
зачем первая и вторая?
чего не одна?

Snusmumriken
25.05.2017
19:14:44
Первый позволяет безопасно выполнять функцию с аргументами, второй - функцию без аргументов, зато с хендлером ошибок.
Я их объединю, не бойся.

Рома
25.05.2017
19:15:28
предвкушаю!

Snusmumriken
25.05.2017
19:17:15
Внутри хендлера можно вызвать debug.stacktrace() и получить полный стектрейс, выдать его как сообщение. А не только куцая ошибка, как в обычном pcall.
У меня на работе из-за этого много проблем: есть ошибка, а где она появилась, в каком из десятка разных локальных копий гита - неизвестно. Надо переделывать.

Рома
25.05.2017
19:27:04
может кто-нибудь знает как на андроиде трафик перехватывать со включенным vpn? весь вечер ковыряюсь

Alejandro
25.05.2017
19:29:04
Вирос нибось пишешь

Рома
25.05.2017
19:30:44
я такими вещами не занимаюсь

Vadim
25.05.2017
19:35:51
в 5.2+ и в luajit аргументы можно передать после хендлера