2016-01-22 110 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

相關問題