Laimadoo
Эх. Ну и как мне это назвать... Уже не pratt, но некоторые идеи pratt берёт
Lunatic
А как удобно кросс-компилировать luarocks модули или что-то подобное?
Snusmumriken
😯
Lunatic
обычное же дело
Snusmumriken
В сишке таки да.
Snusmumriken
Это чувство, когда разработчики вшивают луёвый код с метатипами в бинарь.
Михаил
Snusmumriken
Всё так
Snusmumriken
Притом с обеих сторон, и от разработчика и от меня
cemochkin
Люблю luajit
Snusmumriken
Тут на самом деле косяк со стороны самого luajit, что он не даёт получать и изменять метатаблички типов структурок. Мог бы спокойно выдавать исходную метатаблицу на getmetatable и перетирать при metatype. Но нит, не хочет.
cemochkin
Не люблю metatables
Snusmumriken
В смысле?
cemochkin
Как-то сложно их писать
Snusmumriken
Как-то сложно их писать
Чисто вопрос привычки и понимания происходящего. Так-то это отличный инструмент.
Snusmumriken
Я вон тоже не сразу влился, осваивал метатаблички на протяжении ~трёх месяцев, пока концепция уложилась в голове.
Snusmumriken
(а регулярки ~пол года, это не мешает их использовать практически каждый день по любому поводу)
cemochkin
Хотя в луашном for сложнее разобраться
Snusmumriken
У тебя очень странные критерии разбирания.
Snusmumriken
Полное описание цикла for умещается в одно предложение из 15 слов. И в два предложения, если ещё задеть итераторы.
Cloop210
Снус,по какому гайду легче изучить луа,можно на английском, можешь скинуть ссылку
Cloop210
Такое не пойдёт? Нужно именно читать?
Snusmumriken
Cloop210
Snusmumriken
Такое не пойдёт? Нужно именно читать?
А код можно просто speech-to-text чатгптшке запрос надиктовать, или надо обязательно писать?
Cloop210
А код можно просто speech-to-text чатгптшке запрос надиктовать, или надо обязательно писать?
Ну, писать конечно надо, но в чем разница если и там и там придётся писать
Cloop210
Ну, писать конечно надо, но в чем разница если и там и там придётся писать
Ну, хотя ты прав,в видосах обычно основу рассказывают, а практика обычно на сайтах
Snusmumriken
Ну, писать конечно надо, но в чем разница если и там и там придётся писать
Паринь. Там коротенький текстик. На нём написано "луа за 15 минут". Примерно за столько времени он и читается (внимательно). Прочитываешь — и если уже умеешь программировать, луашная база у тебя уже есть. Или это слишком медленно? Хочешь изучить луа за 30 секунд?
cemochkin
Надо прочитать всю документацию по луа, а так же исходные файлы, предварительно поняв c. Потом сесть изучить асемблер и понять luajit. В конце концов забросить lua и написать свою lua с блекджеком в которой оригинальная lua будет доступна из таблицы lua
cemochkin
Третим будет прикручивание своего lua ко всем остальным языкам
Snusmumriken
Это развлечение на выходные.
Laimadoo
Это развлечение на выходные.
Ну это так. Можно справится за пару
Laimadoo
лет
Snusmumriken
Если отложить всё на последние выходные два года спустя.
StiMOR
async function use() os.sleep(1) print(1) end await(use) print(2) или function* use() os.sleep(1) print(1) end await(use) print(2) Какой вариант лучше?
StiMOR
В первом асихнронная функция объявляется через async , во втором с * после function
Сергей
coroutine.create 🤓
StiMOR
Snusmumriken
С одной стороны да, с другой — тут уже не луашка, да.
Сергей
с async запутаться сложно
Snusmumriken
А вот это уже луашка.
StiMOR
С одной стороны да, с другой — тут уже не луашка, да.
Ну я для своего языка который выглядит как луашка
StiMOR
StiMOR
local a: string | number = "Hello world" У меня динамически типизированный, но я сделал возможность делать статическую типизацию
Snusmumriken
Ну я для своего языка который выглядит как луашка
Знаешь, за последние лет десять в этих луёвых чатах, было штук двадцать молодых людей в возрасте 15-20 лет, которые занимались изобретением своих языков, которые "как луашка но не луашка". А знаешь что ещё забавнее?
Snusmumriken
У них как правило нет личного опыта сделать что-то чем реально удобно пользоваться.
StiMOR
StiMOR
Я метатаблицы вначале хотел
StiMOR
Но потом сделал просто классы
StiMOR
class Animal private name = nil static count = 0 function init(self, name: string) self.name = name Animal.count = Animal.count + 1 end public function getName(self): string return self.name end public function speak(self): string return self:getName() .. " makes a sound" end static function getCount(): number return Animal.count end end Выглядит вполне в стиле луа
StiMOR
Я сегодня мучался с отправлением расширения с подсветкой , поиском ошибок, подсказками моего языка в маркетплейс vs code
Snusmumriken
В общем, когда я такой вижу кодики, которые "ну это почти луа но не луа", у меня такого в голове сразу набор флажочков: "Ага, это будет работать только в его больной детскими болячками версии, это фиг куда-то прикрутишь, а если он транслирует это в луашку, то что с ошибками блин"
Snusmumriken
Я тут такой совокупляюсь с четырьмя версии луашки, чтобы мои либки работали везде )) А эти ребята такие плодят ещё 100500 версий. Которые я поддерживать конечно не буду — это далеко не луашка.
Snusmumriken
Вкратце. Только не "15 конкурирующих стандартов" а где-то 8000. И все — от студентов.
StiMOR
За экосистему я могу не переживать
StiMOR
Можно написать обёртку любых библиотек js и все
StiMOR
Я так уже переносил pixi js и planck js
StiMOR
Я документацию в стиле луа доки писал https://xylo-docs.vercel.app/versions/0.1/0.1%20beta.html
Lunatic
есть yuescript который форк moonscript, суммарно они развиваются 10+ лет
Lunatic
там есть классы
StiMOR
if else while for do end break return local function fun class extends static private public init number string boolean function table null undefined global switch case try catch default Это все ключевые слова которые я сделал
StiMOR
Но при этом можно спокойно написать end = 900
StiMOR
Lunatic
хотят - пусть пишут языки, чего вы детям развиваться запрещаете
Lunatic
жаваскрипт и питон и gnu make так и родилис
Lunatic
Lunatic
макароны сварил сегодня
StiMOR
Да мне делать нечего было вот и захотелось
Lunatic
например?
StiMOR
Я его давно ещё делал