2010年7月8日木曜日

C++プログラマがLuaを勉強してみる第9回

◆関数定義時のピリオド「.」とコロン「:」の違い
コロンで定義した場合はselfが使用できます
ピリオドで定義した場合は引数にself(C++でいうところのthis)を取るとselfに自信が代入されます

test = {
 name = "yamada"
}

-- コロン
function test:printName() 
 print(self.name) -- selfにtestが入っている
end

-- ピリオドでselfの引数をもつ
function test.printName2(self)
 print(self.name) -- selfにtestが入っている
end

-- ピリオドでselfなし
function test.printName3()
-- print(self.name) -- selfは使用できない
 print("yamada")
end

0 件のコメント:

コメントを投稿