2

XMLファイルをLuaXMLで解析しようとしています

function customURLtoSteam64(web, sid)
local xml = require("luaXml")
local xfile = xml.load("http://steamcommunity.com/id/GreenMarineValve?xml=1") --line189
local xscene = xfile:find("steamID64[1]") 
return render_front(web, xscene)
end

しかし、私はこのエラーが発生します:

.\index.lua:189: attempt to index local 'xml' (a boolean value)
stack traceback:
.\index.lua:189: in function <.\index.lua:186>
(tail call): ?
(tail call): ?.\index.lua:189: attempt to index local 'xml' (a boolean value)
stack traceback:
c:\Lua\LuaRocks/share/lua/5.1/coxpcall.lua:24: in function 
(tail call): ?
(tail call): ?
c:\Lua\LuaRocks/share/lua/5.1/orbit.lua:540: in function 
(tail call): ?
(tail call): ?

何が悪いのか理解できませんでした。どうすれば正しく理解できますか?

4

1 に答える 1

3

使用したrequireイディオムは、Lua 5.2 で推奨されているものです。このイディオムは Lua 5.1 でも機能しますが、Lua 5.1 のほとんどの (ただしすべてではない) ライブラリは通常、グローバルを定義し、それらが定義する値を を介して返しませんでしたrequireluaopen_xxx関数からの戻り値がない場合requireは true を返すため、表示されたエラー メッセージが表示されます。

したがって、単純require("luaXml")に使用し、ローカルに割り当てないでください。

于 2013-08-13T23:40:12.513 に答える