2016-08-15 102 views
3

在lua中編譯任何結果到控制檯輸出。這是什麼? '[C]: ?'

我有一個問題。

[C]:? < - 這是什麼意思?

stack traceback: 
    test2.lua:2: in function 'myfunction' 
    test2.lua:8: in main chunk 
    [C]: ? <----- this point 
+0

爲深細節,這是關係到'debug.traceback'功能和[最新](https://開頭WWW。 'debug.getinfo'結構的lua.org/manual/5.3/manual.html#lua_Debug)字段。 –

回答

3

這意味着堆棧回溯的該電平是一個C函數(而不是一個Lua功能)。

例如:

$ lua -e 'print(io.popen())' 
lua: (command line):1: bad argument #1 to 'popen' (string expected, got no value) 
stack traceback: 
    [C]: in function 'popen' 
    (command line):1: in main chunk 
    [C]: ? 

$ lua -e 'function t() print(nil + 5) end t()' 
lua: (command line):1: attempt to perform arithmetic on a nil value 
stack traceback: 
    (command line):1: in function 't' 
    (command line):1: in main chunk 
    [C]: ?