2011-06-18 13 views
1

このようにすればエラーになります。私は何をすべきか?ルア機能範囲

local function one() 
    local function two() 
     local function three() 
      callMe() -- got error here 
     end 
    end 
end 

local function callMe() 
    print ("can't call :(") 
end 

callMe() 
+4

私の知る限りを、そのコードが有効でLuaのではありません。 –

+0

私の過失申し訳ありません。私はここでサンプルコードを書いているうちに急いでいましたが、それは実際のものではありません。 – Devyn

答えて

6

地元の人々は使用前に宣言する必要があります:関数 `one`、` two`及びそれらの後に `` three`必要性() `:

local callMe 
local function one() 
    local function two() 
     local function three() 
      callMe() -- got error here 
     end 
    end 
end 
function callMe() 
    print ("can't call :(") 
end 
callMe() 
4

だけでなくonetwothreeのため行方不明()callMethreeの範囲外のローカル関数であるので、それがあることを知らないようバートKiersは、three()はエラーしまう呼び出し、言ったように関数。

関連する問題