Lua點號和冒號區別

2021-08-06 06:21:03 字數 477 閱讀 7210

點號和冒號的區別:定義和呼叫時 ,第乙個引數是否有隱藏引數self;

點號:第乙個引數無隱藏引數self;

冒號:第乙個引數有隱藏引數self;

eg:local test = {}

local test = 

function test:func( arg1, arg2)

print(arg1, arg2, self)

endfunction test.func1( arg1, arg2)

print(arg1, arg2, self)

endtest:func(1,2)

test.func(1,2)

test:func1(1,2)

test.func1(1,2)

結果:1, 2, table

2, nil,1

table,1, nil

1,,2,nil

lua 點號,冒號,self

1 self類似c 中的this指標,指向當前正在使用這個table的例項 2 點號就是基本的table索引的方式 3 冒號,記住一點就是省略self這個引數的作用,無論是在定義函式,還是在呼叫函式都是這個作用。冒號只能用於函式呼叫和定義,不能用於其他的情況 local mt mt.num 100 ...

lua 中點號與冒號的區別

曾經遇到面試題目,面試官給的題目大概是這樣,a 是乙個table 請你說出a.foo 與a foo 的區別。我也只能呵呵了,因為我根本就不會。因為工作中對lua 根本就是看看 就開始埋頭敲 了。看下面 a function a inscrease self.count self.count 1 en...

lua中冒號 與點號 的區別

原文 在lua開發中我們經常會混淆這兩者之間的區別,下面通過乙個示例來解釋 class class.index class function class.new x,y local cls setmetatable cls,class cls.x x cls.y y return cls endfu...