2016-01-22 104 views
2

我只是想简单的Lua代码:LUA http.request回报试图索引全球的 'http'(一个零值)

local http = require("socket.http") 
local b, c, h = http.request("http://www.example.com/") 

但我得到这个错误:安装

stdin:1: attempt to index global 'http' (a nil value) 
stack traceback: 
     stdin:1: in main chunk 
     [C]: ? 

luasocket和卢阿找到它,任何人都可以帮忙?

+2

你确定你的上面的代码产生了这个错误吗?我问,因为你实际上试图索引*本地*,而不是*全球*。但是,您是否尝试过使用'socket.http'代替? –

+0

是的,在Lua shell中我输入了两个以上的命令,但是当我使用** socket.http **代替** http **时,它的工作没有错误,但b,c,h变量是**零** – vahid

+0

哦,我只是把这两行写在一个文件中而不是lua shell中,现在它起作用了!感谢和抱歉,这是我第一次使用Lua。 – vahid

回答

4

lua repl在它自己的上下文中运行每一行。局部变量不会一直存在。在第一行放置本地,http将在第二行显示。

如果b,ch是零,这听起来像呼叫失败,出于某种原因。

+0

是的!我是lua的新人,谢谢。 – vahid

相关问题