Например, вот так можно описать require без кеширования скриптов. function MyRequire(scriptname) local root = "c:/bin/lua" local path = root .. "/" .. scriptname .. ".lua" local file = assert( io.open(path, 'rb') ) local code = file:read("*all") file:close() -- err - ошибка в коде при парсинге файла -- scriptname передаётся -- чтобы текст ошибок был привязан к -- scriptname, а не "ошибка в чанке кода" local func, err = loadstring(code, scriptname) if not func then error(err) end return func() end
Обсуждают сегодня