Я пишу инструмент для анализа плагинов lua, созданных другими пользователями.Единственная гарантия в отношении плагина заключается в том, что у него есть файл data.lua в известной директории.Там пользователи могут делать все, что пожелают.Этот конкретный плагин требует, чтобы загрузить файл, и этот файл загружает другой файл.Оба являются относительными путями, но второй относится к местоположению первого файла.
- data.lua
- foo / bar.lua
- foo / baz.lua
data.lua:
require("foo.bar")
foo / bar.lua:
require("baz")
Когда я пытаюсь выполнить data.lua, я получаю ошибкукогда foo / bar.lua пытается запросить «baz».Ни один из путей, которые он пробует, не является ./foo/.
Есть идеи, как я могу это исправить?Я мог найти любую документацию конкретно по этому делу, казалось, что мне нужно жестко кодировать / foo / в путь, но я не знаю об этом заранее.Это похоже на то, что должно быть автоматическим. Есть ли настройка, которую я пропускаю, или я использую неправильную версию lua?Я использую NLua 4.0
Спасибо