目次
確認環境:Windows10 64bit
関数で引数にselfを使用して配列を参照する
MyTable = {name = "red"}
function MyTable.sayColor(self)
print("color is " .. self.name .. "!")
end
MyTable.sayColor(MyTable) -- color is red!
1行目は、配列(テーブル型)です。
3行目は、関数名のsayColorの前にドット(.)とテーブル型のMyTableがあり、引数はselfがあります。
4行目のself.nameは、1行目のredを取得します。
関数で引数にselfを使用しない(コロンを記述する)
関数の引数にselfを記載しない代わりに:(コロン)を記載することで代替できます。
MyTable = {name = "red"}
function MyTable:sayColor()
print("color is " .. self.name .. "!")
end
MyTable.sayColor(MyTable) -- color is red!
3行目は、関数名のsayColorの前に:(コロン)があり、引数はselfがありません。
4行目のself.nameは、1行目のredを取得します。
まとめ
関数の前の:は何か
→関数の引数のselfを省略している
関数と:の前の文字はなにか
→配列名
関連の記事