「Luaのコロン区切りとピリオド区切り」の版間の差分
ナビゲーションに移動
検索に移動
imported>Administrator (ページの作成:「関数名のコロン区切りは引数の1つ目に「self」(javaやc#でいうthis変数)を自動的に追加してくれる記法のようだ。 ピリオド...」) |
imported>Administrator |
||
13行目: | 13行目: | ||
object.foo(obj) | object.foo(obj) | ||
の省略記法。 | の省略記法。 | ||
+ | |||
+ | ピリオドで関数を呼び出すと下記のようにself変数が存在しないというエラーが発生することがある。 | ||
+ | attempt to index a nil value (local 'self') | ||
+ | |||
[[category: Lua]] | [[category: Lua]] |
2018年8月15日 (水) 07:42時点における版
関数名のコロン区切りは引数の1つ目に「self」(javaやc#でいうthis変数)を自動的に追加してくれる記法のようだ。 ピリオド区切りでは「self」を明示しなければならない。
function object:foo(x)
は
function object.foo(self,x)
の省略記法。
関数を呼び出すときも同じ。
object:foo()
は
object.foo(obj)
の省略記法。
ピリオドで関数を呼び出すと下記のようにself変数が存在しないというエラーが発生することがある。
attempt to index a nil value (local 'self')