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

提供:MonoBook
imported>Administrator
ページの作成:「関数名のコロン区切りは引数の1つ目に「self」(javaやc#でいうthis変数)を自動的に追加してくれる記法のようだ。 ピリオド...」
 
imported>Administrator
編集の要約なし
 
(同じ利用者による、間の1版が非表示)
14行目: 14行目:
の省略記法。
の省略記法。


[[category: Lua]]
self変数を内部的に利用している関数をピリオド区切りで呼び出す際には、明示的にself変数を渡さないと、下記のように「self変数が存在しない」というエラーが発生する。
attempt to index a nil value (local 'self')
[[category: Lua]]

2018年8月15日 (水) 07:45時点における最新版

関数名のコロン区切りは引数の1つ目に「self」(javaやc#でいうthis変数)を自動的に追加してくれる記法のようだ。 ピリオド区切りでは「self」を明示しなければならない。

function object:foo(x)

function object.foo(self,x)

の省略記法。


関数を呼び出すときも同じ。

object:foo()

object.foo(obj)

の省略記法。

self変数を内部的に利用している関数をピリオド区切りで呼び出す際には、明示的にself変数を渡さないと、下記のように「self変数が存在しない」というエラーが発生する。

attempt to index a nil value (local 'self')