Я пытаюсь переместить старый метод LUA, который загружал содержимое JSON из файла в глобальную переменную в «класс». Но я получаю следующие ошибки все время:LUA load Конфигурация JSON из файла
attempt to call field 'decode' (a nil value)
attempt to index global 'cjson' (a nil value)
Я не знаю, Lua хорошо, но я пробовал почти все комбинации без результата, так вы можете объяснить, почему происходит эта ошибка?
Текущая реализация модуля выглядит следующим образом:
Config = {}
Config.__index = Config
function Config.create(config_filename)
local cjson = require("cjson")
local config = {}
setmetatable(config,Config)
local f = io.open(config_filename, "r")
local content = f:read("*a")
f:close()
config = cjson.decode(content)
return config
end
return Config
В окончательном результате я хочу, чтобы выполнить что-то вроде этого из другого файла:
local config_class = require("config")
local config = config_class.create("/path/to/file.json")
ngx.say(config:some_configuration_data())
И как я могу заставить заставить загружать правильную реализацию «cjson»? – SZMER
Хорошо, я испортил путь загрузки. Кажется, что он работает после исправлений пути загрузки. Благодарю. – SZMER