「Luaのコロン区切りとピリオド区切り」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
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')