觸動(dòng)精靈腳本編寫教程 lua語言優(yōu)缺點(diǎn)?
lua語言優(yōu)缺點(diǎn)?Lua的優(yōu)點(diǎn):1。Lua是腳本語言中最快的運(yùn)行時(shí)。2. 集成Lua只會(huì)增加內(nèi)存使用。3. Lua的C API有完整的文檔和很好的示例,可以通過C輕松地集成到軟件中。Lua的缺點(diǎn):1。
lua語言優(yōu)缺點(diǎn)?
Lua的優(yōu)點(diǎn):
1。Lua是腳本語言中最快的運(yùn)行時(shí)。
2. 集成Lua只會(huì)增加內(nèi)存使用。
3. Lua的C API有完整的文檔和很好的示例,可以通過C輕松地集成到軟件中。Lua的缺點(diǎn):1。雖然Lua的文檔已經(jīng)改進(jìn)了很多,但是仍然不夠。Lua可能是這三種語言中文檔記錄最少的(API是個(gè)例外),因?yàn)榇a中的注釋很少,這也增加了學(xué)習(xí)的難度。此外,沒有介紹lua的性質(zhì)。
2. Lua只有很少的內(nèi)置函數(shù),不能為創(chuàng)建大型復(fù)雜的應(yīng)用程序提供足夠的支持。
3. Lua應(yīng)該使用更好的垃圾收集機(jī)制。Lua的GC仍然使用非常簡(jiǎn)單和傳統(tǒng)的“標(biāo)記和清除”方法。
只有一個(gè)數(shù)字類型(double),這不僅有性能問題,而且語義錯(cuò)誤。
6。語言庫相對(duì)較小
7。nil值很低。它不能保存在表中,當(dāng)它作為參數(shù)傳遞時(shí)可能會(huì)丟失
a和B語句表示在ab上執(zhí)行和操作。如果a為真,則返回值為后者。如果a為false,則返回值為a本身或。相反,如果a為真,則返回值為a,如果a為假,則返回值為B鑰匙。卡住了)那么a=a1c=c1end如果(a==5和b==5),那么c=100end如果(a==5或b==5),那么c=100end不把所有內(nèi)容都寫在一行上。這樣不但不會(huì)提高程序的效率,反而會(huì)降低代碼的可讀性
這其實(shí)不僅僅是一個(gè)匿名函數(shù)。這個(gè)概念實(shí)際上涉及閉包。如果你對(duì)閉包了解不多,可以暫時(shí)忽略
函數(shù)a的返回值是一個(gè)匿名函數(shù),這個(gè)匿名函數(shù)會(huì)改變函數(shù)a I中的局部變量
每次調(diào)用匿名函數(shù)時(shí),它將使局部變量增加1并返回這個(gè)值
執(zhí)行時(shí),C1被賦予這個(gè)匿名函數(shù),所以每次調(diào)用C1時(shí),它將輸出這個(gè)局部變量,每次I增加1
第一個(gè)問題:
不要使用Lua源代碼中的參數(shù)與Lua的擴(kuò)展C函數(shù)中的參數(shù)相混淆。Lua,不管是什么指針(當(dāng)然,PLC函數(shù)中的參數(shù)需要pl指針)。
第二個(gè)問題:
對(duì)于C函數(shù),它必須返回int值。這個(gè)int值告訴Lua它將幾個(gè)參數(shù)返回給Lua(它可以返回0個(gè)參數(shù);如果為0,則返回0)。
第三個(gè)問題:
Lua ToNumber是以整數(shù)形式返回Lua堆棧中相應(yīng)索引的值。在這個(gè)語句中,您將Lua中的參數(shù)賦給num變量。