
Philipp
11.03.2017
19:01:50
Запуск Луа при зажатом сочетании клавиш выглядит как-то так
(внизу иконки приложений)

Чай
11.03.2017
19:03:09
Забавно.

Philipp
11.03.2017
19:03:51
Не очень

Google

Philipp
11.03.2017
19:04:16
Меня раздражает отсутствие возможности сбилдить приложение шорткатом

Чай
11.03.2017
19:04:24
Makefile?
all:
love .

Philipp
11.03.2017
19:05:00
Так, а ты атомом пользуешься?

Чай
11.03.2017
19:05:04
Да.

Philipp
11.03.2017
19:05:10
Тогда пошли в ЛС, поспрашиваю как раз

Чай
11.03.2017
19:05:15
Хорошо.

Vlad
13.03.2017
00:29:18
кто что знает про сжатие данных и подобную красоту с описанием,разжевавынием и тд тп
какой есть хороший архиватор
не архиватор, а компрессор, просто путаю
и можно получить двоичное представление имеющихся данных?
(к примеру тот же архив или папка с файлами как будут выглядеть в двоичном виде)

Alexander
13.03.2017
00:44:37

Vlad
13.03.2017
00:45:28
ну

Alexander
13.03.2017
00:46:11
https://abisab.com/kompyuter/chto-takoe-bit

Google

Alexander
13.03.2017
00:46:15
не благодари

Vlad
13.03.2017
00:49:43
я к тому
что нужны описания методов обработки данных
что то типа деревьев хафмана

Alexander
13.03.2017
00:55:51
гугл в помощь

Vlad
13.03.2017
00:56:13
спасибо отец

Alexander
13.03.2017
00:59:26
для базовых вопросов по алгоритмам лучше подходит другой чат
https://telegram.me/joinchat/BYlFbD3eN3JMaG34hyh96w
а здесь специфика луа

Vlad
13.03.2017
01:00:39
и что?
а на луа нельзя ничего реализовать или как?

Alexander
13.03.2017
01:02:55
скажем так, проще с привлечением Си.
в самом луа с битовыми операциями не очень.


Snusmumriken
13.03.2017
04:20:21
Есть куча либ, работающих с zip/deflate напрямую из lua. Просто загугли.
Самая простая организация, которая, правда, не позволяет удалять файлы из архива, но позволяет добавлять и легко просматривать содержимое:
[заголовок]
[сжатые данные]
[заголовок]
[данные]
Заголовок, который состоит из сигнатуры начала/конца заголлов имени файла, его размера в сжатом и несжатом виде и прочих мелких параметров.
Просмотр - перемещение по заголовкам как по связному списку: у нас есть байты начала и конца заголовка (по сигнатурам), и нам надо только переместить курсор чтения файла на позицию "конец текущего заголовка + длина текущего сжатого файла", и мы тут же попадём на сигнатуру следующего заголовка, откуда можно выдирать маленькими кусочками заголовок, пока не наткнёмся на сигнатуру конца заголовка и не сможем его вытащить и распарсить.
Заодно, это крайне просто реализовать: просто забиваем файлы в другой файл.
С добавлением новых файлов - тоже элементарно: записываем новые заголовки в конец файла.
С удалением - сложнее, ибо приходится забивать некоторый участок нулями и перелинковать конец последнего файла, что не уменьшает размер архива и внутри lua, без ffi, невозможно перезаписывать какие-то участки файлов, только удалять весь файл и записывать по новой.


Group Butler [beta]
13.03.2017
17:12:21
Добро пожаловать в чат pro.lua, Dan.il! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Roman
13.03.2017
20:05:15
А что вы думаете про moonscript?

Tverd
13.03.2017
20:07:26
Хорошо думаем, лично мне нравится

Чай
13.03.2017
20:07:35
Пытаюсь применять немного в "проекте" для Love2d сейчас.
Довольно приятная штука.

Philipp
13.03.2017
20:11:40
Думаю, что штука, которая поможет вам забыть Луа =)

Kinrany
13.03.2017
20:11:48
Смотрю в список чатов:
"Чай довольно приятная штука"

Google

Чай
13.03.2017
20:11:49
Нет.
Да, чай — штука хорошая.
А Мунскрипт довольно прозрачно в Lua транслируется.

Philipp
13.03.2017
20:12:20
Поэтому использовать мунскрипт можно только с осторожностью

TheRainwildsKeeper
13.03.2017
21:23:44
https://github.com/qwook/sunscript

yegorf1
13.03.2017
21:25:03
Классная идея

TheRainwildsKeeper
13.03.2017
21:25:20
Угу

yegorf1
13.03.2017
21:27:56
Хм
Может написать простенький сиподобный язык, транслитируемый в луа с сахаром типа этого на яке, или как его там

Roman
13.03.2017
21:29:35

yegorf1
13.03.2017
21:30:01
ЛуаДжит местами быстрее сишечки
Да и смысл?

Плюшка
14.03.2017
05:44:12
Надо написать компилер crystal в lua

Tverd
14.03.2017
07:40:41
Парни, а обязательно C подобный синтаксис? Вот прямо обязательно? ))))

Snusmumriken
14.03.2017
07:46:01
Нет, можно функциональщину.
quicksort [] = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
lesser = filter (< p) xs
greater = filter (>= p) xs

Tverd
14.03.2017
07:46:44
ну это луче
хоть и не сильно пока понятно )

Snusmumriken
14.03.2017
07:48:51
Для меня, например, сиподобный синтаксис обязателен, потому что фукциональщина - решение долбанутых головоломок и попытки надуть язык так чтоы он этого не заметил, и неожиданно для себя сделал то что нужно.
Но я бы не отказался от расширения семантики луа сокращениями типа тех же стрелочных функций, но нативных.

Google

Snusmumriken
14.03.2017
07:53:13
Надо ещё аналогичные тернарники намутить, если покатят с локальными переменными.

Ilya
14.03.2017
07:54:46
А как же terra lang?

Snusmumriken
14.03.2017
08:02:48
Ой, какая смешная штука.
Названием напоминает текстовый редактор "edm" - как EDitor for Mortals, который был в противовес редакторам для нечеловеков (типа vi).
Только "язык для землян" в противовес "языку для лунатиков"

Kon
14.03.2017
13:42:15
А в lua есть оператор, который из функции делает таблицу с десятью одинаковыми функциями?
Или со строками то же самое. Играюсь в minetest, а во внутриигровых компьютерах нехороший админ поставил ограничение по количеству выполняемых функций

fgntfg
15.03.2017
10:02:08
можно сделать таблицу функций

grinchfox
15.03.2017
10:03:34

Kon
15.03.2017
10:04:07
Это как ?
что-то вроде fun * 3 = fun2() { fun(); fun(); fun(); }

Snusmumriken
15.03.2017
10:04:16
По количеству одновременно выполняемых функций?
То есть, если функция вызывает другую функцию, так вызывает третью и т.д, то оно блочит? (Блок по стактрейсу), или нельзя много раз вызывать одну и ту же функцию потому что есть блокировка и хук на исполнение?

Admin
ERROR: S client not available

Kon
15.03.2017
10:04:25
или 5 * "a" = "aaaaa"

Плюшка
15.03.2017
10:04:59

grinchfox
15.03.2017
10:05:28
Можно придумать свой стек на корутинах

Snusmumriken
15.03.2017
10:06:15
Можно хакнуть этого чувака, поставив хук на хук, обнуляющий его действие.

Kon
15.03.2017
10:06:31
звучит как хук в боксе %)

Snusmumriken
15.03.2017
10:07:14
Ничо, ничо.
Хуки - это весело и мило.
Но медленно.

fgntfg
15.03.2017
10:07:45
А что в конечном итоге хочешь сделать?

Snusmumriken
15.03.2017
10:07:48
А еще можно научиться композировать функции в одну.

Google

fgntfg
15.03.2017
10:07:53
Нагрифить?
function fn(s, ...)
local src = [[
local L1, L2, L3, L4, L5, L6, L7, L8, L9 = ...
return function(P1,P2,P3,P4,P5,P6,P7,P8,P9) return ]] .. s .. [[ end
]]
return loadstring(src)(...)
end
можно попробовать так, но у меня самнения.

Snusmumriken
15.03.2017
10:12:18
Хех, кстати забавно.
Таким образом можно перегенерировать функцию в те моменты когда она блокируется.
Типа обновляем.

grinchfox
15.03.2017
10:12:40
Да, храни функции в строках
Кешируй последние n

Kon
15.03.2017
10:13:14
А что в конечном итоге хочешь сделать?
Есть робот внутри игры. Количество инструкций, которые может выполнить робот, ограничено числом 49. Если он захочет выполнить больше - крашнется. При этом размеры программы не ограничены и всяких if'ов и стейтов можно понаделать сколько захочется. Выполнив свои 48 функций, в следующем тике робот начинает исполнение программы заново. При этом в идеале сохраняются объявленные переменные. По факту же иногда они также очищаются и процесс начинается полностью заново, видимо какой-то баг или еще что. Я хочу сделать так, чтобы можно было написать в империческом последовательном стиле 50 фукций, не заморачиваясь при этом с ограничениями тика. Таким образом, программа должна отследить количество выполняемых операций и при необходимости отложить остаток выполнения на следующий тик. Попробую корутинами действительно


fgntfg
15.03.2017
10:13:18
можно
table.insert(arr, [вот сюда анонимная функция])
хмм, computer craft для minecraft както по добрее был

grinchfox
15.03.2017
10:14:17

Kon
15.03.2017
10:14:25
Это minetest, тут опенсурс и сервера работающие по 16 часов в сутки

Snusmumriken
15.03.2017
10:14:39
Все что угодно можно сделать злым, если поставить хуки :3

fgntfg
15.03.2017
10:14:50
Может поднять minetest сервачёк, железо есть и простаивает

Kon
15.03.2017
10:15:11
подними

Плюшка
15.03.2017
10:18:32
поиграл в minetest, он крутой конечн, но имхо чего-то не хватает ему
не в плане контента

grinchfox
15.03.2017
10:20:36
Ему нехватает всего
Выживания там нету нормального как в mc

Плюшка
15.03.2017
10:22:06
да были вроде моды какие-то

grinchfox
15.03.2017
10:22:19
А все что есть очень сырое для игры

fgntfg
15.03.2017
10:33:25
Я играл в совершенно бородатые бетки майнкрафт. Только креативный режим, не бесконечная карта, жуткие тормаза явы.