Каталог luac-скрипта, выполняемого через dofile

Страницы: 1
RSS
Каталог luac-скрипта, выполняемого через dofile
 
Можно ли внутри скомпилированного luac-скрипта, выполняемого через dofile, узнать его расположение?
Очевидный вариант - передать параметром из запускающего скрипта - не интересует.
 
В Lua 5.4 у меня работает это.
Внутри откомпилированного скрипта, в начале:
<code>
-- Функция  ---
local function dofile_exe_path()
  local str
  for i = 2, 4 do --- поиск корневой функции, вызывающей script_path, начиная с функции в которой вызвана script_path
--     message (tostring(  debug.getinfo(i) ))
     if  debug.getinfo(i)  then   ----
    str = debug.getinfo(i, 'S').source
 else
    break
 end
  end
  return  str
end

local path_script
path_script = dofile_exe_path ()
message( path_script  )  
-- Результат message строка вида :   dofile('<Путь к оттранслированному скрипту>')

<code>
Далее, наверное, разберетесь сами.
 
Цитата
TGB написал:
В Lua 5.4 у меня работает это.
Сомневаюсь, что это работает внутри откомпилированного скрипта.
 
Цитата
Незнайка написал:
Сомневаюсь, что это работает внутри откомпилированного скрипта.

т.е. даже пробовать не будете?
 
Цитата
swerg написал:
даже пробовать не будете?

Еще до создания темы перепробовал.
 
Не будет работать если при компиляции убрана отладочная информация флагом -s. Что, обычно, всегда и делается.
Страницы: 1
Читают тему (гостей: 1)
Наверх