@ProLua

Страница 268 из 307
Дмитрий
03.04.2018
00:23:52
то есть это поле с очередным номерным индексом и переменной x, я понял

а еще, как ты так прикольно код выделяешь в сообщении?)

Snusmumriken
03.04.2018
00:24:58
` - одинарные кавычки вокруг блока - однострочное выделение, тройные вокруг многострочного блока - многострочное.

Маркдаун телега, к сожалению, не тянет. Но двойными звёздочками, двойными подчёркиваниями и одинарными/ тройными апострофами можно делать кусочки форматирования.

Google
Дмитрий
03.04.2018
00:26:49
оооооо спасибо)) и за индексы и за форматирование)

Snusmumriken
03.04.2018
00:30:24
Карочи, я там вполне осваивал таблички через баловство и чтение доков.



Давай сам учись учиться самостоятельно ))

Дмитрий
03.04.2018
00:31:39
справедливо

Snusmumriken
03.04.2018
00:32:40
Если понадобится ООП/метатаблицы - специально для таких как ТЫ я накатал статью с примерами

Ща найду

Дмитрий
03.04.2018
00:33:21
да, я уже почитал) правда, чтобы осознать там написанное, надо пробовать самому, пока не пригодилось

Snusmumriken
03.04.2018
00:33:31
Ага

https://habrahabr.ru/post/346892/ Для тех кто не читал и не освоил - вперёд.

Дмитрий
03.04.2018
09:30:00
я где то это вроде как прочитал, но все же, если я положу в переменную табличку, переменная на самом деле станет ссылкой на табличку?

fgntfg
03.04.2018
09:31:03
Да

Дмитрий
03.04.2018
09:31:23
Да
спасибо)

Google
Дмитрий
03.04.2018
09:31:34
это потому что таблицы всегда анонимны ?

fgntfg
03.04.2018
09:31:59
Таблица это просто облость памяти. Через имя таблицы ты оращаешься к этой облости

По сути у ссылки на область памяти может быть много имён

Дмитрий
03.04.2018
09:32:46
да, вот, оно, благодарю)

как и функции

Snusmumriken
03.04.2018
13:14:37
Опять, да?

Катя, тебя забанить? : )

Andrey
03.04.2018
13:15:12
Катя, тебя забанить? : )
звучит крайне интригующе)

Alexander
03.04.2018
13:15:12
бань

fgntfg
03.04.2018
14:41:43
ТОЛЬКО НЕ КАТЮ, НЕЕЕЕЕТ

Как же мы иначе узнаем как заработать не работая?

Philipp
03.04.2018
14:49:07
(и белое)

fgntfg
03.04.2018
14:49:50
Ловить момент, чтоб обезьяна поймала банан

Philipp
03.04.2018
14:49:53
Да

Snusmumriken
03.04.2018
22:28:35
Не в тот чат : )

Philipp
03.04.2018
22:29:22
почему же?

Vlad
03.04.2018
22:31:50
там нету ничего связанного непосредственно с love в плане кода (типа love.load и таких вещей нет) там общий код на создание лов файла, или если нужно то и проекта. Просто как по мне много костылей, особенно с созданием архива и последующее изменение расширения, хотя немного переписал сам процесс создания и он стал немного быстрее в сравнении с первоначальным вариантом.

Snusmumriken
03.04.2018
22:34:29
там нету ничего связанного непосредственно с love в плане кода (типа love.load и таких вещей нет) там общий код на создание лов файла, или если нужно то и проекта. Просто как по мне много костылей, особенно с созданием архива и последующее изменение расширения, хотя немного переписал сам процесс создания и он стал немного быстрее в сравнении с первоначальным вариантом.
Ну понятно всё, да : ) Карочи, внутренняя структура - по твоим пожеланиям, чесслово. Правда, если ты будешь запускать эту штуку с модулями в голом интерпретаторе - придётся дописывать в package.path путь до папки с текущим скриптом, иначе будет пытаться require'иться исключительно из директории с интерпретатором/LUA_PATH-переменной.

Вот тебе фишка на подумать: Если у тебя в проекте есть много подключаемых lua/C-библиотек из разных мест, то было бы неплохо рекурсивно парсить файлы сриптов на предмет подгружаемых модулей, смотреть, имеется ли в текущем проекте эта библиотека, и если её нет - пробегать по package.path/package.cpath и копировать модуль из первого найденного места в папку с проектом.

Google
Snusmumriken
03.04.2018
22:39:50
Типа, сбор либ с округи на упаковку. Потому что я, например, очень много что пишу в LUA_PATH, чтобы не морочиться с копированием либ туда-сюда каждый раз, и подгружаю одни и те же модули и в интерпретаторе, и в OpenResty и в love2d. А при выбросе приложения "в продакшн" - не факт что там был бы такой же набор библиотек с теми же переменными LUA_PATH/CPATH : )

Vlad
03.04.2018
22:41:07
ну, тут тогда должна быть структура проекта, что бы меньше было проблем с копированием и поиском в целом, ну наверно не то что бы очень сложно к реализации

Snusmumriken
03.04.2018
22:43:07
А, не, тупо парсим файлы начиная с main.lua. Смотрим какие там есть require. Бежим по путям, ищем там эти подгружаемые файлы. Нашли в проекте? Отлично. Не нашли? Бежим по путям. И так - с каждым новым подгружаемым модулем.

Функция проверки файла на существование я тебе выдал : )

Оно автоматом прописывает в пути адрес директории с запускаемым скриптом и через errorhandler запускает то что мы хотим. Основная задача скрипта - чтобы окошко терминала не закрывалось слишком быстро при ошибках : )

Vlad
03.04.2018
23:06:41
я пути кстати только так получить могу debug.getinfo в других случаях просто получаю путь не файла а корневище луа

Snusmumriken
03.04.2018
23:19:12
Ну смотри. У тебя есть путь проекта? Или как ты планируешь использовать хендлер?

Ну, просто я обычно запускаю всякие такие штуки из консоли, типа: luajit /path/to/handler /path/to/project -action property -action2 property2

Это уже даёт твоему скрипту путь до проекта первым аргументом, от этого можно скакать дальше (куда угодно, если это связано с проектом).

Дмитрий
04.04.2018
03:09:50
А есть у кого нибудь установщик lua? А то там какие то исходники, которые надо через visual studio устанавливать, а я не умею, да и нет её у меня

Snusmumriken
04.04.2018
03:10:09
Чего-чего? Установщик луа-чего?

Дмитрий
04.04.2018
03:10:26
Ну этого

Snusmumriken
04.04.2018
03:10:36
ИНТЕРПРЕТАТОРА?

Дмитрий
04.04.2018
03:10:36
Который будет мой код lua запускать :D

Snusmumriken
04.04.2018
03:10:48
На офсайте глянь бинари.

Дмитрий
04.04.2018
03:11:09
Я глядел, а чего с ними делать то

Snusmumriken
04.04.2018
03:11:30
Там типа exe-шник. Чтобы запустить скрипт потом пишешь в консоль или в run: c:/bla-bla/lua.exe c:/scripts/script.lua и он типа запускает скрипт.

Admin


Дмитрий
04.04.2018
03:11:56
ооооо Спасибо, посмотрю ещё раз

Snusmumriken
04.04.2018
03:12:45
Читай мануалы по работе с командной строкой, это - такие вещи, которым учатся даже совсем дурацкие админы трёх офисных компов, не то что "разработчики" : )

Google
Дмитрий
04.04.2018
03:20:22
Хм, если офишал - это lua.org, то там нет рабочих ссылок под windows -_-

Ладно, дома разберусь Может косяк местной сети

Snusmumriken
04.04.2018
03:30:00
Там, конечно, линк на lua-users.org, но само направление есть. Я сам, правда, беру вот отсюда: http://luajit.org/download.html Всё то же самое (5.1), но в сто мильёнов раз быстрее )))

Дмитрий
04.04.2018
03:32:08
Дык я туда тыкал Кидает на люа юзерс и там уже не рабочие ссылки)

Snusmumriken
04.04.2018
03:34:20
Рабочие. Например вот эта: [Lua v5.3.4] Lua interpreter compiled with TinyC — much smaller executable (64K). Passes all tests. http://www.aspisys.com/lua53.exe

Дмитрий
04.04.2018
03:41:50
Рабочие. Например вот эта: [Lua v5.3.4] Lua interpreter compiled with TinyC — much smaller executable (64K). Passes all tests. http://www.aspisys.com/lua53.exe
Ну, тогда я колхозник и заблудился в трёх соснах непонятно как Спасибо большое

Kukuzapa
04.04.2018
03:51:54
вроде как под виндой zero brain можно использовать.

https://studio.zerobrane.com/

Насибуллин
04.04.2018
05:13:44
Кстати, кто-нибудь писал под tinyC compiler? Он реально работает? Хорошо бы на нем ассемблер поучить

Snusmumriken
04.04.2018
05:31:22
Это обычный компилятор, но за счёт бешеной скорости там несколько странный вывод ошибок, дебажить чутка сложно. P.S. Луа компилится tcc.

Насибуллин
04.04.2018
05:33:25
Понятно, спасибо

Snusmumriken
04.04.2018
05:38:37
А ещё, tcc умеет работать интерпретатором сишки, это вообще очень мило. Правда, ошибки вылезают специфические.

Скриптовая сишка ещё никогда не была так близко. Но на самом деле оно просто очень быстро компилирует, так что кажется будто это скрипты.

Snusmumriken
04.04.2018
05:40:01
Хех, но тут типа прямо таки СИШКА

Хотя на самом деле, luajit-ffi - почти то же самое, но только без макросов и ещё нескольких фич. И ещё можно писать на луа (это просто tcc + lua).

Насибуллин
04.04.2018
07:36:17
Скриптовая сишка это си-шелл

C shell

Но ну ее нахуй, простите

fgntfg
04.04.2018
07:39:27
Си-шелл

Google
fgntfg
04.04.2018
07:39:32
[простите]

Tverd
04.04.2018
10:28:24
парни, а кто нить может подсказать такой момент? Есть у меня .so библиотека обычная С, без lua интерфейсов, для ffi. И есть ffi для луаджита. Я гружу ffi библиотеку, а она в свою очередь грузит .so и прописывает интерфейсы... А есть ли варик ffi модуль скомпилять и как-то встроить в .so что бы был один модуль? что бы в основном скрипте я сразу получал из so интерфейсы к библиотеке на С?

Tverd
04.04.2018
10:52:00
Нет.
а пробовали использовать трансляцию байткода в C заголовки и последующие линковки перед получением so библиотеки?

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