Latest post of the previous page:
Ну вот, сбылась многолетняя мечта теперь есть таблица far.GuidsСпасибо!
_macroinit.lua
добавить следующий код:
У меня со 112 плагинами среднее время исполнения кода занимает 16мс.Это полезно для тех, кто этим будет пользоваться. Времени это добавить - всего ничего.
Немаловажно и то, что состав плагинов может динамически меняться.
if not rawget(tbl,idx) then -- плагина с таким именем нет в таблице?
Title
, например, Calendar или HexEditor и т.д. В этом случае по имени будет доступен только один из них.Решение с метатаблицей очень простое, большей простоты не надо. И оно более универсальное, чем то, что вы предлагаете.
Не уверен на счёт универсальности. Если кому-то нужно для себя лично, достаточно macroinit. Если предполагается использование в публичных макросах, тогда надо делать доступным для всех. Но тогда мы приходим кShmuel wrote:Решение с метатаблицей очень простое, большей простоты не надо. И оно более универсальное, чем то, что вы предлагаете.
Вопрос только в том, нужно ли это из коробки или же кому надо сам себе поставит в _macroinit.lua.
Предложение: делать модулем, только модуль должен быть в дистрибутиве, например, завести папку modules в папке плагина LuaMacro, поместить путь в package.path. Пока там будет только один модуль, но глядишь, ещё появятся.Shmuel wrote:Но вижу и недостатки, главный из которых, что, если предположить, что пользоваться будет каждый десятый, то 9 пользователей из 10 заплатят 16мс ни за что. 16 мс это конечно ерунда, но эти вещи имеют свойство накапливаться (обратный вариант пословицы "копейка рубль бережёт").
В варианте с метатаблицей платит (16 ms или сколько там получится) только тот, кто пользуется.Smitis wrote:Но тогда мы приходим кShmuel wrote:Но вижу и недостатки, главный из которых, что, если предположить, что пользоваться будет каждый десятый, то 9 пользователей из 10 заплатят 16мс ни за что.