@ProLua

Страница 96 из 307
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
Она лезет в ядро, ты в курсе? То есть надо полностью переписывать либы, на луёвые вызовы вместо питоновых.

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, сразу компилит тебе всё.

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
В общем, считай луа - домашним проектом. Там нет тех мощностей разработчиков языка и спонсоров как у питона, потому что пиара особо нема. У питона такая огромная стандартная либа потому, что Гвидо был много кем спонсирован, раскручивался в своё время до опупения и всё такое.

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

Рома
25.05.2017
14:19:00
лол так а чего не хватает?

честно, не замечал особой нехватки какой-то библиотеки

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
сейчас меня ещё одна идейка посетила есть куча тупых вконтактов-фейсбуков-скайпов-вайберов-вотсапов-телеграмов и тычячи их. зачем столько - никогда не понимал. где есть подсветка синтаксиса?? нигде! (гитхаб это не мессенджер)
алсо, я думал над тем, чтобы в телеграе запилить, но он у меня итак уже патченый-перепатченый по сравнению с оригиналом. Ну и опять же, это только локально поможет :)

Andrey
25.05.2017
19:04:08


Snusmumriken
25.05.2017
19:07:21
Рома ну, мне бы посмотреть код, впечатлиться и по мотивам написать... А то я тут пока извращениями с xpcall, debug.getinfo() и т.п. занимаюсь :)
О, как раз этим сейчас развлекаюсь. Правда, первая функция xpcall должна быть без аргументов, а вторая - с одним аргументом. Чуть позже выложу запускатель скриптов с нормальным трейсбеком.

То чем можно вдохновляться: 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-диалога избавиться :)

Snusmumriken
25.05.2017
19:14:04
можешь сразу сказать зачем два xpcall?
В смысле, зачем pcall и xpcall?

Рома
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 аргументы можно передать после хендлера

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