Как сделать функцию общей для разных макросов?

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Клавиатурные макросы

Post by gotar »

Latest post of the previous page:

Большое спасибо
Обращение к SUSim. На мой взгляд надо наращивать не количество макросов, а библиотеку. а назначение вызовов функций на конкретные клавиши дело очень индивидуальное. Если будет развитая и документированная библиотека написание отладка и вызов макроса может оказаться быстрее чем все сделать руками.
Предлагаю все Вами написанные функции поместить в таблицу _G.SUSim а автору luaexplorer в конце написать что то вроде

Code: Select all

_G.luaexplorer=function()
return process(_G, '_G')
end
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Клавиатурные макросы

Post by John Doe »

Если вы считаете, что какая-то из функций полезна не только для внутреннего пользования - её можно поместить в модули.
И в наборе макросов SUSim уже есть модуль.
В соответствующей теме напишите, какие из функций хотите там видеть.

P.S.
Названия темам надо давать более информативные.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Клавиатурные макросы

Post by gotar »

Если к клавиатурному макросу необходимо подключать модуль, а потом долго его отлаживать то проще все сделать руками. Если почти весь макрос состоит из вызова функции из таблицы _G возможно его не придется отлаживать и использование макроса будет быстрее. По мне если бы каждый разработчик макросов создал бы свою подтаблицу в таблице _G было бы удобнее механизма модулей.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Клавиатурные макросы

Post by Shmuel »

gotar wrote:Если к клавиатурному макросу необходимо подключать модуль, а потом долго его отлаживать то проще все сделать руками. Если почти весь макрос состоит из вызова функции из таблицы _G возможно его не придется отлаживать и использование макроса будет быстрее. По мне если бы каждый разработчик макросов создал бы свою подтаблицу в таблице _G было бы удобнее механизма модулей.
Клавиатурные макросы, то-есть записываемые с клавиатуры? Это обычно тривиальные макросы, для которых не нужны ни модули, ни вызовы внешних функций. Если ваш макрос не совсем тривиальный, делайте его "стационарным".

Ваше недоверие к механизму модулей вызвано скорее всего тем, что вы не имеете опыта работы с ними. А работать с модулями вполне удобно.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Клавиатурные макросы

Post by gotar »

Работать с модулями удобно когда много человек пишут одну программу и надо четко определить интерфейсы между различными ее частями, обработка данных шла через функции доступа, не было бы пересечений по именам функций и переменных и т.п. В данном случае достаточно разделения пространства имен путем использования различных подтаблиц разными пользователями. На самом деле у меня ощущение что инкапсуляция функций и данных обрабатываемых этими функциями в одну подтаблицу таблицы _G почти тоже самое что и использование require когда файл уже загружен предыдущем вызовом require.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Клавиатурные макросы

Post by gotar »

Это обычно тривиальные макросы, для которых не нужны ни модули, ни вызовы внешних функций
Насчет внешних функций прочтите первое сообщение. Мне кажется крайне неудобным когда есть множество макросов занимающих половину клавиатуры и назначение которых я совсем не помню и когда изза неожиданной реакции на нажатие клавиши нужно все время проверять не является ли это последствием макросов. Бывает что часто повторяющуюся последовательность действий хочется записать в виде макроса и когда нажатий на клавиатуру не хватает хочется вызвать подходящую функцию. Такие макросы у меня долго не живут, т.к. в следующий раз мне нужно выполнять другие действия, и тратить время на их отладку мне не хочется. Мне нужны функции-кирпичики из которых я могу слепить требуемую мне функциональность. на подобие языка rexx в xedit или программ фильтров в юниксе
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Клавиатурные макросы

Post by Shmuel »

gotar wrote:Работать с модулями удобно когда много человек пишут одну программу и надо четко определить интерфейсы между различными ее частями, обработка данных шла через функции доступа, не было бы пересечений по именам функций и переменных и т.п. В данном случае достаточно разделения пространства имен путем использования различных подтаблиц разными пользователями. На самом деле у меня ощущение что инкапсуляция функций и данных обрабатываемых этими функциями в одну подтаблицу таблицы _G почти тоже самое что и использование require когда файл уже загружен предыдущем вызовом require.
Ну так не работайте с модулями, никто не заставляет.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Клавиатурные макросы

Post by Shmuel »

gotar wrote: Мне нужны функции-кирпичики из которых я могу слепить требуемую мне функциональность. на подобие языка rexx в xedit или программ фильтров в юниксе
Нужны - делайте.
Post Reply

Return to “Нужна помощь”