ㅤ
Igor
Это при том, что ему нужно сконтачиться с гитхабом, пропарсить обновления в 7 гит репозиториях моего воркспейса оттуда же, получить приколы от GitHub Actions и т.д.
Igor
Ну и железо меня далеко не самое топовое FX8300+HP SSD S700 Pro+16GB ну и видео RX580, хотя тут на него мягко говоря наплевать хоть электрон использует ускорение GPU, но всё равно он не способен даже какую-нибудь GT640 нагрузить в штатном режиме работы
Igor
И при всём при этом я не ощущаю вообще никаких проблем при работе с вскодом
Денис
Тоже с недавних пор использую VS Code. Да, поднимается все это добро на I7 2600K секунд за 5-7, да и бывает, что языковой сервер на плагине от Sumeko не успевает за скоростью набора, особенно, когда нашел какой-то баг в скрипте, который используется в основной профессии. И вот у тебя запущен тяжкий проект, сжирающий процентов 80 ЦПУ, и ты открываешь ВСС, начинаешь фиксить, а комп реально начинает тупить, как типичный старый дед, глядя на этот ваш смартфон, но ВС Код мне лично удобен и в большинстве случаев автозаполнений (особенно, когда можно выбирать в проверке типа соответствие, и Код тебе формирует куски, или режимы существующие подставлять), и реализацией воркспейса... NPP тоже присутствует, но он по большей для тестовых или маленьких аппок. Справедливости ради, НРР у меня, со всеми мне нужными плагинами, тоже поднимается как черепаха, даже наверно медленнее" чем ВСС.
Igor
Тоже с недавних пор использую VS Code. Да, поднимается все это добро на I7 2600K секунд за 5-7, да и бывает, что языковой сервер на плагине от Sumeko не успевает за скоростью набора, особенно, когда нашел какой-то баг в скрипте, который используется в основной профессии. И вот у тебя запущен тяжкий проект, сжирающий процентов 80 ЦПУ, и ты открываешь ВСС, начинаешь фиксить, а комп реально начинает тупить, как типичный старый дед, глядя на этот ваш смартфон, но ВС Код мне лично удобен и в большинстве случаев автозаполнений (особенно, когда можно выбирать в проверке типа соответствие, и Код тебе формирует куски, или режимы существующие подставлять), и реализацией воркспейса... NPP тоже присутствует, но он по большей для тестовых или маленьких аппок. Справедливости ради, НРР у меня, со всеми мне нужными плагинами, тоже поднимается как черепаха, даже наверно медленнее" чем ВСС.
У меня вскод первые секунд 10, наверное, грузит проц под 100, причем все ядра. Но мне кажется это не столько вскод делает, сколько cpptools, который пробегается по всем хедерам проекта, создаёт карту зависимостей, дефайнов и прочей нечисти. От самого VSC я не видел нагрузы выше 25% (это если складывать все Code.exe процессы, которые он создаёт)
Ruslan
local _obj = {table_fn = function() print('table_fn') end}
local _obj_meta = {
__index = _obj_meta, -- сюда
meta_fn = function() print('meta_fn') end
}
-- как это запихнуть в _obj_meta = { } ?
--_obj_meta.__index = _obj_meta
Obj = setmetatable(_obj, _obj_meta)
Obj.meta_fn()
как не использовать строчку:
_obj_meta.__index = _obj_meta
и получить желаемый результат?
это возможно вообще?
Александр
т.е. ты хочешь ссылку на себя ? Для чего ?
Igor
Ruslan
т.е. ты хочешь ссылку на себя ? Для чего ?
смотрю на что способен язык
где его пределы
а желаемый результат о котором писал выше - это доступ к meta_fn
без использования данной формы записи (конкретно именно этой, так хочу понять как еще можно)
_obj_meta.__index = _obj_meta
Александр
Убрать строчку ?) Ну можно заменить предпоследнюю на Obj = setmetatable(_obj, {__index=_obj_meta})
Александр
не сильно много разницы конечно, но а) так уже лучше б) вроде в книге чаще всего метатаблицы подобным образом создавались
Александр
к тому же это вопрос области видимости ссылки и изоляции элементов таблицы, ввиду чего можно переписать так
local _obj = {table_fn = function() print('table_fn') end}
local _obj_meta = {
__index = {meta_fn = function() print('meta_fn') end},
}
Obj = setmetatable(_obj, _obj_meta)
Obj.meta_fn()
Александр
И ПМСМ лучше в метатаблицу не пихать что попало(то что не связано с метаметодами). В данном случае, если ты хочешь решить вопрос индексации, то лучше просто наполнить таблицу или функцию для __index
Ruslan
Александр
Если ты имел в виду "замыкание", то это нет, просто создаётся хранимая таблица
Ruslan
Ruslan
цитирую
A function, although more expensive, provides more flexibility:
Ruslan
Ruslan
я щас понял, что по сути хочу знать best practices и bad practices ))
посмотрел один стайл-гайд
там одобряют такую форму
MyClass.__index = MyClass
Александр
table_fn будет по любому быстрее, т.к. логика такова, что луа таким образом сразу выберет значение, в случае же индекса, то эта функция вызывается тогда и только тогда, когда в таблице не найдено соответствующего значения, т.е. луа не находит элемента, после этого он смотрит какой тип у индекса(функция/таблица) и только после вызывает его, чтобы через него косвенно попытаться найти нужный элемент.
Александр
касательно "гибкости" - гибкость эта о __index функции вместо таблицы, а это очевидно, т.к. в функцию можно дополнительно заложить логику и например запилить кэширование, множественное наследование и пр.
Александр
И в целом ты задаёшь много вопросов, ответы на которые есть в книге, причём объяснены очень доступно и достаточно точно(книга автора языка как никак). Касательно "стайлгайдов" и пр. - и их в книге чуть-чуть обсуждают, хотя и как по мне, то лучший стиль, это тот который и удобен и подходит для задачи.
Александр
Александр
__index = {meta_fn = function()
это попадает под замедление функций?
Обращаю внимание, что это как раз пример обрывочных знаний, т.к. в книге и документации говориться о замедлении только в выборе между таблицей и функцией и по сути только в виду того, что при интерпретации вызов функции достаточно дороже обращения к элементу таблицы.
Avi
Ruslan
нашел на русском, 3е издание
почитаю
попробую по крайней мере)
Ruslan
Александр
хз
2016го - 310стр
2014го - 413стр (там шрифт крупнее)
ну 310 это вместе с содержанием, частью про связку с Си, библиотеки и продвинутые темы в конце. Чисто луа это первые 17 глав, часть из которых больше разговорные про всякие эмуляции ООП и пр., более того эти 17 глав можно вполне читать вразнобой, т.к. они несильно переплетены.
Ruslan
Я решил начать с главы про таблицы
Вилби
В майнкрафте есть мод, в котором блоки можно программировать на Lua для взаимодействия прям в игре. Кто пробовал? Интересно мнение
Hello, World! 🎄
Hello, World! 🎄
Но я не смотрел насколько там интегрировано взаимодействие с игровым миром
[#] Rason
ㅤ
В сегодня лет я узнал, что широко популярная в узких кругах игра Genshin Impact использует Lua. Можете добавить в список программ для ответа на вопрос "эту вашу Lua кто-то вообще использует?"
Денис
Snusmumriken
Snusmumriken
Ну и нормась )
Денис
Ребят, может не совсем в тему группы, но помогите пжалста составить регексп на замену...
Задача: есть в коде проверки типа
if type(<obj>) == "<type>" then
в целях упрощения были написаны функции типа
function is<type>)(<obj>)
с помощью НРР пытаюсь заменить проверку на новый тип. Пытаюсь так:
type(\(.*\))\s==\s"(\w)" >> is\2\1
Не выходит цветочек каменный!
Денис
Подозреваю, что надо мудрить с исключающими символами...
Snusmumriken
ㅤ
Snusmumriken
Забей, тут просто опыт.
Денис
Забей, тут просто опыт.
Та ну да, там даже не в этом проблема была... просто получил бы первую букву во втором блоке, да и все))) Просто просрал момент
Денис
А, хотя нет!
Денис
Все правильно, в этом ошибка и была
Денис
он же до кавычки не дошел
Денис
Тьфу, долбанный фалафель
Денис
Про Рипер все и так знают.
Твою бы уверенность, да некоторым клиентам моим, которые до сих пор считают, что на винде вообще нельзя с музыкой и звуком работать, и что кроме Лоджика и Мака на свете ничего нет)))
Snusmumriken
Щяс блин такое интересное время, где есть портабельный ffmpeg в котором можно литературно сделать практически всё что угодно, вплоть до монтажа видосов в кучу дорожек прямо в консольке.
Денис
Snusmumriken
Я тут такой блин залез в этот ффмпег и прифигел с того, что можно просто написать конфиг-файлик, в котором описать лэйауты, начала и концы кусков дорожек, растянуть их как надо, навесить фильтров-эффектиков вплоть до кастомных, скомпоновать на конечном фреймбуфере и так далее, и натурально блин монтировать видосы.
Tony
Tony
До сих пор удивляюсь тому, что они умеют
Tony
Причём чаще всего уже многие годы
Денис
Денис
Я все пытаюсь вникнуть в разработку плагинов под VLC... Пока то времени не хватает, то жопа болит сидеть)))
Snusmumriken
Да, консольные утилиты такого уровня – вообще годнота
А ещё я видел гуи для ффмпега, в которых ты такой минимально монтируешь, оно конструирует консольную команду и делает тебе вывод. Превьюшки в тулзе и кадры на всяких гуёвых таймлайнах тоже через ффмпег.
Snusmumriken
Захар
Фига себе. Я кроме перекодирования и сжатия больше не представлял применения
Snusmumriken
А так всегда. Вон на обычном тупом экселе держится мировая экономика, а его функционал на самом деле куда больше чем его используют в 95% случаев.
Snusmumriken
А уж сколько под него аддонов написано — вплоть до ии ))0
Snusmumriken
Ещё я видел реалтаймовый сетевой бомбермен на нём же, с кучей вбашной фигни правда.
Захар
Эх, не юникс-вей всё это
Snusmumriken
Я прожил на этом свете 28 годиков, и единственный вывод по этому поводу к которому пришёл — ваще насрать.
Snusmumriken
Тем более что видео-аудио-картинки это такая КРАЙНЕ ИНТЕРЕСНАЯ ОБЛАСТЬ, где если делать цепочечные вводы-выводы, на выходе получится концентрированное говно из-за постоянных перекодировок с потерями и х10 ко времени обработки с перегруженными пайпами.
Tony
Tony
И ещё одну статью про Эксель как способ программирования, принципиально отличный от всех остальных