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, который позволяет предоставить пользовательский загрузчик, который может посмотреть путь к конкретному модулю.

Другие вопросы по тегам