ファイルからグローバル変数へのJSONコンテンツを「クラス」にロードしていた古いLUAメソッドを移動しようとしています。しかし、私はエラーのすべての時間を以下の取得:ファイルからのLUAロード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