lua語言中是否可以在table中儲存函式

2021-03-03 21:34:26 字數 2540 閱讀 3988

1樓:匿名使用者

--寫一個我常用的table教學的samplelocal a =

--常用的儲存方式

a[4] = 9

--元素新增

table.insert(a,4)

--元素新增

a[6] = function (a) print(a) end--元素可內以是函式

a['asd'] = 'asd'

--index可以是字串

容,元素可以是字串

for i,v in pairs(a) do-- ipairs 和 pairs 的區別在於index是否為連續整數

print(v)end

2樓:匿名使用者

可以用數字下標放 但我們更常用的方法是以字串做下標local t = {}

t.fun = function() print(123) endt.fun()

3樓:匿名使用者

可以,你不會自己試試? 詳見lua程式設計

lua中讓table儲存function為元素要怎麼做呢? 10

4樓:匿名使用者

mywork={}

function mywork:func(msg)print("self:",self)

print("-->",msg)

end--我在mywork.lua開始處定義了變數local data = }}

--而後在檔案中間呼叫這個值

function mywork:onenable()data.key1.key2.key3(mywork,"test succused")

endmywork:onenable()

lua中table能否直接賦值

5樓:斯人已噬

table表的bai建立是通過構造表示式完成的,du最簡單的構zhi造表示式就是{},所以daoasd={}不能省略建立完table表後即

回可以對table表的項進行定答義,即asd[1]="123asd"或asd.bbc = 123

又因為前面定義的是全域性的table表所以在同檔案可以呼叫

6樓:匿名使用者

從某種來程度上說是可行的自

如果修改了預設值的話 是可bai行的

一般情況下 普通du的沒宣告過的變數的zhi值是nil但如果我dao

們把預設值設定成一個新生成的table

那麼就可以直接這樣訪問了

一個簡單的例子

setmetatable(_g,

t[key] = res

return res

end})

--下面是測試

require"base"

asd[1]="123asd"

aaa[4]="ffff"

print(asd)

print(aaa)

針對你對樓上的回答

每次執行asd = {} 如果原先的表沒被其他地方所持有 則那個表會被銷燬

7樓:匿名使用者

在一個檔案中,可以呼叫在他前面宣告的全域性變數,並且可以修改

別的問題就是,asd要不是二維陣列,那麼asd[1]只有兩個字元,裝不下這麼多字元的

lua 判斷table中是否有某欄位

8樓:

local checkstr = "112233"

for key,value in pairs(table) doif string.find(key,checkstr) then--如果table中的

某一bai

個dukey值有包含「112233」字元

zhi串,dao則匹專配屬

endif key == checkstr then--如果table中的某一個key值是"112233"字串,則匹配endend

9樓:

local ta=

if ta["age"] then

print("有

duage欄位

zhidao")

endif not ta["tel"] thenprint("沒有tel欄位")end

lua可以用table接收含多個返回值的function的返回值嗎?

10樓:我都知道了哦

可以用table接受多個返回值,但是必須加大括號。

**如下:

function foo()

return "1","2","3","4"

endlocal a =

print(a)

print(unpack(a))

執行內結果:容

table: 0x194d160

12 3 4

在c語言中以下合法的字元常量是在C語言中,以下合法的字元常量是

選ca 有雙引號,是字串 b 單引號裡只能一個字元 d 0表明是8進位制,只能出現0 7的數字e 書寫不完整,右半邊的單引號沒了 答案是c。各答案解析 a 有雙引號,是字串 b 單引號裡只能一個版字元 d 0表明是8進位制,只 能出現權0 7的數字 e 書寫不完整,右半邊的單引號沒了 拓展 在c語言...

在c語言中,intppintmalloc

int 是一個整體,被編譯器識別解釋為整型指標,而不是你想當然的認為是 int p,你學的譚浩強的書?坑人不淺啊。永遠跟著型別,而不是變數。除非你想間址 malloc 是一個函式,int 的意思是分配的空間轉強制換成變數p的型別 因為p是 int 型別,也就是整型指標 你去看下動態連結串列的建立方法...

在c語言中的用法及意義,,在C語言中的用法及意義

1,又叫順序求值運算子,優先順序最低,結合方向 自左至右例如 while 1,0 puts while puts while 這個例子是為了說明,運算子自左至右計算表示式的值,並且已最右端表示式的值作為最終結果 1,0這個表示式的值為0 2 右移運算子自左至右 例如 int a 4 a 2 a的結果...