Для макрофайлов имя файла с макросом определяется легко:
...
.Вопрос с именем файла с модулем. Там ... содержит строку из require . А можно как-то определить имя файла с макросом?
...
.debug.getinfo()
?
Code: Select all
-- save it as "test-module.lua"
local my_file = debug.getinfo(1, "S").source:match("^@(.+)")
return {
my_file = my_file
}
Code: Select all
lua:le(require("test-module"))
Code: Select all
╔══════════════════════════ test-module (1) ══════════════════════════╗
║ my_file_is │string │.\test-module.lua ║
╚══════════════════════ F1, F3, F4, Del, Ctrl+M ══════════════════════╝
А я ведь вам уже рекомендовалbuniak_a_h wrote: ↑Sun 25 Apr, 2021 00:06 В моём руководстве по lua про debug.getinfo очень лаконично написано. Про второй параметр = "S" вообще ни слова. Упомянуты только 'f', 'L' и 'n'
В соответствующей статье должна быть гиперссылка на https://www.lua.org/manual/5.1/manual.html#lua_getinfo
Скрипт и сам может не знать путь, откуда модуль загружается.
Что- меня в этом пожелании настораживает:
На самом деле GetMsg (стандартная) принимает на вход некое число - номер топика. Причём ФАР-овские языковые файлы содержат "символьные метки" видаhttps://bugs.farmanager.com/view.php?id=3301 wrote: GetMsg принимает на вход гуид
//[Label]
. А GetMsg (а) не принимает имя языкового файла и (б) не принимает символьные метки. Я сделал свой модуль и пихаю его везде, где можно. А по уму было бы кузяво сделать параметры GetMsg аналогичными ShowHelp.ага, но это надо просто иметь транслятор на комп, который умеет читать с экрана.
Видимо, имелось в виду не включать в поставку (в распространяемый вариант). Вряд ли Вы стали бы поставлять неизвестному конечному юзеру софт с отладкой. Для себя Вы можете хоть форматирование C:\ включать