Порядок загрузки макрофайлов
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
1. Модули не загружаются и не исполняются, покуда их явно не вызвали, разве вы не в курсе? Если, например, модуль вызывается из 3-х макросов, то покуда какой-либо из этих макросов не будет исполнен (а не только загружен), модуль исполняться не будет.tstr wrote:может быть просто гарантированно первым какой-нибудь модуль или макрос выполнять, не так как сейчас - скопом макросы и модули, в алфавитном порядке?
2. Вообще-то макросы при старте только загружаются, а не выполняются, поэтому не должно иметь значения, в каком порядке. Если же у вас есть код, который исполняется при загрузке макросов - поместите его в один макрофайл и организуйте в нём нужную вам последовательность действий.
Re: LuaMacro — Lua как язык макросов
спасибо за разъяснения, картина для меня прояснилась.
было не очевидно что исполнение кода из макрофайла будет ранее чем исполнение автостартующих макросов.
у себя использую такой код, для настройки необходимых параметров
было не очевидно что исполнение кода из макрофайла будет ранее чем исполнение автостартующих макросов.
у себя использую такой код, для настройки необходимых параметров
Re: LuaMacro — Lua как язык макросов
вот сейчас spell.lua грузит библиотеку с помощью ffi.load раньше чем я в своём макрофайле меняю путь где искать библиотеки. пока переименовал свой макрофайл так, чтобы он обрабатывался и исполнялся раньше...Shmuel wrote:1. Модули не загружаются и не исполняются, покуда их явно не вызвали, разве вы не в курсе? Если, например, модуль вызывается из 3-х макросов, то покуда какой-либо из этих макросов не будет исполнен (а не только загружен), модуль исполняться не будет.tstr wrote:может быть просто гарантированно первым какой-нибудь модуль или макрос выполнять, не так как сейчас - скопом макросы и модули, в алфавитном порядке?
2. Вообще-то макросы при старте только загружаются, а не выполняются, поэтому не должно иметь значения, в каком порядке. Если же у вас есть код, который исполняется при загрузке макросов - поместите его в один макрофайл и организуйте в нём нужную вам последовательность действий.
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
Автор может это поправить (или вы сами).tstr wrote:вот сейчас spell.lua грузит библиотеку с помощью ffi.load раньше чем я в своём макрофайле меняю путь где искать библиотеки. пока переименовал свой макрофайл так, чтобы он обрабатывался и исполнялся раньше...
ffi.load работает независимо от package.cpath, поэтому ваш путь ему должен быть до лампочки.
Re: LuaMacro — Lua как язык макросов
там не только долампочковый package.cpath , там иShmuel wrote:Автор может это поправить (или вы сами).tstr wrote:вот сейчас spell.lua грузит библиотеку с помощью ffi.load раньше чем я в своём макрофайле меняю путь где искать библиотеки. пока переименовал свой макрофайл так, чтобы он обрабатывался и исполнялся раньше...
ffi.load работает независимо от package.cpath, поэтому ваш путь ему должен быть до лампочки.
Code: Select all
win.SetEnv("PATH", win.GetEnv("PATH")..(";%s\\lib.%s"):format(macros,arch) )
можно, в своих скриптах так и буду делать.2useven10 wrote:Никто не мешает сделать загрузку длл по полному пути.
как я уже сказал, на данный момент проблема обойдена. это действует до следующего залётного чужого скрипта с исполнением кода при загрузке макросов, который будет исполнен ранее моего. было бы соглашение о очередности загрузки - переделывать бы не пришлось.
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
А можно ссылочку на сообщение, где мы с вами про PATH говорили?tstr wrote:там не только долампочковый package.cpath , там иCode: Select all
win.SetEnv("PATH", win.GetEnv("PATH")..(";%s\\lib.%s"):format(macros,arch) )
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: LuaMacro — Lua как язык макросов
Речь не о PATH конкретно, а о каком-то определённом порядке выполнения скриптов.
P.S.
В общем-то он и сейчас более-менее понятен: всё в алфавитном порядке, вначале Macros/Scripts, а потом дальше в глубину подпапок.
P.S.
В общем-то он и сейчас более-менее понятен: всё в алфавитном порядке, вначале Macros/Scripts, а потом дальше в глубину подпапок.
Re: LuaMacro — Lua как язык макросов
так мы сейчас и о package.cpath не говорили, а говорили о очерёдности и о выносе исполняемого кода в отдельный файл , пример которого включая PATH я и приводил.Shmuel wrote:А можно ссылочку на сообщение, где мы с вами про PATH говорили?tstr wrote:там не только долампочковый package.cpath , там иCode: Select all
win.SetEnv("PATH", win.GetEnv("PATH")..(";%s\\lib.%s"):format(macros,arch) )
алфавиты, как и локали - вообще штука нетривиальная... )John Doe wrote:В общем-то он и сейчас более-менее понятен: всё в алфавитном порядке, вначале Macros/Scripts, а потом дальше в глубину подпапок.
при сортировке по имени файла небуквенные "(~_#-" символы в начале имени файла сортируются по-одному, код из них запускается по-другому.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: LuaMacro — Lua как язык макросов
Не надо полагаться на алфавит.
Просто зарезервируйте корень для скриптов инициализации, а прочие скрипты кладите в подпапки.
Я не утверждаю что это хорошо и правильно, но работает ведь
Просто зарезервируйте корень для скриптов инициализации, а прочие скрипты кладите в подпапки.
Я не утверждаю что это хорошо и правильно, но работает ведь
- Smitis
- Posts: 1709
- Joined: Fri 18 Mar, 2005 12:51
- Location: Питер
- Has thanked: 23 times
- Been thanked: 55 times
Re: LuaMacro — Lua как язык макросов
По-моему, используя символы и цифры очень легко обеспечить нужный порядок загрузки.tstr wrote:алфавиты, как и локали - вообще штука нетривиальная... )
при сортировке по имени файла небуквенные "(~_#-" символы в начале имени файла сортируются по-одному, код из них запускается по-другому.
У меня есть три скрипта, имена которых начинаются с двух символов подчёркивания - они грузятся самым первыми.
И ещё пяток с одного символа подчёркивания - они грузятся во вторую очередь.
Всё отлично работает.
Разум когда-нибудь победит.
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Re: LuaMacro — Lua как язык макросов
Никакого упорядочивания запуска в ближайшем будущем не предвидится (по крайней мере я не собираюсь этого делать). Однако, чтобы не нужны были финты с подпапками (хотя идея - конструктивная), можно определить фиксированное имя файла (типа autoexec.lua) и исполнять его первым, а остальные - как раньше.
Re: LuaMacro — Lua как язык макросов
как вариант (попадалось не раз в луа) - init.lua . любое заявленное имя было бы достаточно.Shmuel wrote:Никакого упорядочивания запуска в ближайшем будущем не предвидится (по крайней мере я не собираюсь этого делать). Однако, чтобы не нужны были финты с подпапками (хотя идея - конструктивная), можно определить фиксированное имя файла (типа autoexec.lua) и исполнять его первым, а остальные - как раньше.
а на моей системе код из них выполняется в последнюю очередь. так что догадки без официальных соглашений - они до первого залетевшего дятла...Smitis wrote:По-моему, используя символы и цифры очень легко обеспечить нужный порядок загрузки.tstr wrote:алфавиты, как и локали - вообще штука нетривиальная... )
при сортировке по имени файла небуквенные "(~_#-" символы в начале имени файла сортируются по-одному, код из них запускается по-другому.
У меня есть три скрипта, имена которых начинаются с двух символов подчёркивания - они грузятся самым первыми.
И ещё пяток с одного символа подчёркивания - они грузятся во вторую очередь.
Всё отлично работает.
- John Doe
- Бюрократ
- Posts: 13861
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 74 times
- Been thanked: 428 times
- Contact:
Re: LuaMacro — Lua как язык макросов
Может не файл а папку?Shmuel wrote:можно определить фиксированное имя файла (типа autoexec.lua) и исполнять его первым, а остальные - как раньше.