1樓:great雨點
lua中的函式是一階型別值
(first-class value),定義函式就象建立普通型別值一樣(只不過函式型別值的數專
據主要是一條條指屬
令而已),所以在函式體中仍然可以定義函式。假設函式f2定義在函式f1中,那麼就稱f2為f1的內嵌(inner)函式,f1為f2的(enclosing)函式,和內嵌都具有傳遞性,即f2的內嵌必然是f1的內嵌,而f1的也一定是f2的。內嵌函式可以訪問函式已經建立的所有區域性變數,這種特性便是所謂的詞法定界(lexical scoping),而這些區域性變數則稱為該內嵌函式的外部區域性變數(external local variable)或者upvalue(這個詞多少會讓人產生誤解,因為upvalue實際指的是變數而不是值)。
我用lua指令碼寫程式時,出現了下面的錯誤:attempt to index field 'size' (a nil value)
2樓:匿名使用者
錯誤已經寫的很明顯了
你使用了一個空值來索引一個table
比如 你執行一下這段**你就懂了
tab = {}
tab.size = {}
print(tab.size.a)
tab.size = nil
print(tab.size.a)
第一次輸出nil
第二次就出現了和你一樣的錯誤
因為size 本身不是一個table 而你以訪問table的方式來訪問這個值為nil的size
所以就出現這個問題了
解決的方法是 你確認一下 在之前的函式裡是否初始化了這個size 或者是 把它置成nil了
使用lua指令碼寫程式出現報錯:attempt to call method 'settext' (a nil value),求解決方案
3樓:
沒用過cocos2dx2.2.5, 但能肯定沒有找到settext()函式, settext()所在的庫不在package.path 和package.cpath搜尋範圍中
【lua問題】attempt to call field 'extra' (a nil value)
4樓:錯落二人組
不要self.extra,直接extra就行……self表中沒有extra這個鍵值,自然會報錯
老實說個人非常不推薦
回這種答寫法,難看而且不好維護;除非是環境有特定需求,否則模擬oop的時候常見寫法是:
local a = {}
function a.create()
local t =
return setmetatable(t, )endfunction a:public_method1()--body
endlocal function a:private_method1()
--body
endreturn a
--在其他檔案中使用時直接
local a = require("a")即可這樣無論閱讀**還是以後維護都簡單很多……作用域,介面等清晰明瞭
閉包的lua中
在lua語言中怎麼用sin,直接呼叫提示「attempt to call global 'sin' 」
5樓:匿名使用者
math.sin(x),x為弧度
math.sin(math.rad(x)) x為角度
奧迪a4l智慧鑰匙有什麼用,奧迪A4L智慧鑰匙有什麼用
就是你要是靠近車5米以內你直接去拉門把手門就能開啟不需要按鑰匙。比如你抱著一個箱子在手上你不好按鑰匙,你就可以直接去拉把手就開門了。一般智慧鑰匙都配帶了一鍵啟動系統。奧迪a4l智慧鑰匙有什麼用?就根據車鑰匙上的表示來用,啟動的時候可以選擇一鍵啟動,也可以選擇用鑰匙啟動。一,奧迪a4l智慧鑰匙沒有電了...
果仁有什麼用,果仁有什麼用
有些果仁裡還有豐富的礦物質,維生素,不飽和脂肪酸,這些東西對身體有很大好處 所以有一類養生粥叫果仁粥,熬煮果仁可將上述物質,熬煮出來,同時又能稀釋果仁的苦澀味!美容,調節內分泌,減輕便祕,降低血脂 調節膽固醇 功效。常吃果仁,有助於攝取到許多隻有從動物性食物中才能得到的營養元素,從而獲得營養的均衡。...
數學到底有什麼用數學有什麼用,數學有什麼用
作為一個日後不想以數學或者工程師或者精算師為職業的人來說,數學究竟何用呢?誠實的說,譬如三角,三角變換,微積分等等數學知識,一般人的生活和工作的確用不上,但並不能因此就說,這些東西學來無用。其實許多知識的所謂 用 跟數學一樣,是一種 無用之用 是作為一個思維方式健全的人所必備的知識體系之一。因為有了...