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
Снус,по какому гайду легче изучить луа,можно на английском, можешь скинуть ссылку
Snusmumriken
Cloop210
Такое не пойдёт? Нужно именно читать?
Snusmumriken
Cloop210
Cloop210
cemochkin
Надо прочитать всю документацию по луа, а так же исходные файлы, предварительно поняв c. Потом сесть изучить асемблер и понять luajit. В конце концов забросить lua и написать свою lua с блекджеком в которой оригинальная lua будет доступна из таблицы lua
Test
Snusmumriken
cemochkin
Третим будет прикручивание своего lua ко всем остальным языкам
Snusmumriken
Это развлечение на выходные.
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
Ivan
Сергей
coroutine.create 🤓
StiMOR
Snusmumriken
С одной стороны да, с другой — тут уже не луашка, да.
Сергей
Сергей
с async запутаться сложно
Snusmumriken
StiMOR
StiMOR
StiMOR
local a: string | number = "Hello world"
У меня динамически типизированный, но я сделал возможность делать статическую типизацию
Snusmumriken
Ну я для своего языка который выглядит как луашка
Знаешь, за последние лет десять в этих луёвых чатах, было штук двадцать молодых людей в возрасте 15-20 лет, которые занимались изобретением своих языков, которые "как луашка но не луашка".
А знаешь что ещё забавнее?
Snusmumriken
У них как правило нет личного опыта сделать что-то чем реально удобно пользоваться.
StiMOR
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 версий. Которые я поддерживать конечно не буду — это далеко не луашка.
StiMOR
Snusmumriken
Вкратце. Только не "15 конкурирующих стандартов" а где-то 8000. И все — от студентов.
StiMOR
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
хотят - пусть пишут языки, чего вы детям развиваться запрещаете
StiMOR
Lunatic
жаваскрипт и питон и gnu make так и родилис
Lunatic
Lunatic
макароны сварил сегодня
StiMOR
Да мне делать нечего было вот и захотелось
Lunatic
например?
StiMOR
Я его давно ещё делал