Lua: Локальный package.path
В Lua есть способ определить package.path
применить только к локальной области?
Я понимаю, что мог бы хранить package.path
в локальной переменной и восстановите его до того, как мой скрипт завершится, как в примере ниже, но есть ли более чистый способ?
local startingPackagePath = package.path
package.path = "../Lib/?.lua;" .. package.path
local someLib = require "someLib"
package.path = startingPackagePath
--Do some stuff
1 ответ
Решение
Я не думаю, что есть более короткий способ сделать package.path
для конкретного модуля, но вы можете рассмотреть возможность использования package.preload, который позволяет предоставить пользовательский загрузчик, который может посмотреть путь к конкретному модулю.