(citRix) Запуск макроса по событию смены директории

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 3299
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 172 times
Been thanked: 482 times
Contact:

(citRix) Запуск макроса по событию смены директории

Post by buniak_a_h »

Latest post of the previous page:

citRiks wrote: Fri 14 Jan, 2022 07:43 Локальная таблица-контeйнeр (для всякого) Xer0X пeрвоначально бeрeтся (инициализируeтся) из глобальной Xer0X. Если в глобальном пространствe ee нeт, то из модуля, что и являeтся оригинальным ee прoисхождeниeм.
Я глянул текст модуля и понял, что несмотря на описание local Xer0X где-то имеется в виду локальная, а где-то - глобальная (_G.Xer0X). Причём, без явного указания (_G.). Ну и стиль! От шпионов шифруете? Или байтики экономите?
Last edited by buniak_a_h on Fri 14 Jan, 2022 10:58, edited 1 time in total.
User avatar
citRiks
Posts: 1637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 522 times
Been thanked: 95 times

(citRix) Запуск макроса по событию смены директории

Post by citRiks »

buniak_a_h wrote: Fri 14 Jan, 2022 10:57Причём, без явного указания (_G.).
ну я как-то и не придавал особого значения, но в целом пишу в соответствии со своими представлениями о прекрасном, которые предполагаю читаемыми и для других тоже, хоть могу и ошибаться конечно.
И мне казалось что это общепринятый стиль локализации глобальных таблиц(обьектов)
Типа если так сделать, то обращение к этой таблице как к локальной, будет эффективнее.

Кроме того, чего-то я опять перестроил много чего, но пока не закинул в ГитХаб, посмотрю чтобы не вылезли ашипки пока у себя
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
buniak_a_h
Posts: 3299
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 172 times
Been thanked: 482 times
Contact:

(citRix) Запуск макроса по событию смены директории

Post by buniak_a_h »

citRiks wrote: Sat 15 Jan, 2022 00:35 если так сделать, то обращение к этой таблице как к локальной, будет эффективнее.
Возможно, я не совсем понимаю. Но если не указано _G, то я так понимаю, что сначала проверяются таблицы локальных переменных, а если не найдено - лезет в _G. Поэтому если точно известно, что переменная в _G, то эффективнее указать явно. А в строке
local qqq = qqq or нечто()
которая вне блоков второе вхождение может быть ТОЛЬКО глобальным. Вот если такая строка во внутреннем блоке, то это - замечательный способ сделать стек переменных qqq. Я этим регулярно пользуюсь.
Post Reply

Return to “Обсуждение макросов”