2

package.pathLuaでは、ローカルスコープのみに適用するように定義する方法はありますか?

package.path以下の例のように、ローカル変数に保存してスクリプトが終了する前に復元できることは理解していますが、よりクリーンな方法はありますか?

local startingPackagePath = package.path
package.path = "../Lib/?.lua;" .. package.path
local someLib = require "someLib"
package.path = startingPackagePath
--Do some stuff
4

1 に答える 1

2

モジュール固有にするためのより短い方法はないと思いますが、モジュール固有のパスを見ることができるカスタムローダーを提供できるpackage.preloadpackage.pathの使用を検討することができます。

于 2015-07-24T05:58:27.650 に答える