ここに行く...ルア - "self"を使用した場合と使用しなかった場合の同じ結果
パラメータで "self"という関数を宣言するさまざまな例を試しています。
私は完全に理解しようとしているこれを完全に理解していません。私は完全な初心者ですが、私はこれを完全に把握しなければなりません。
例2では、関数内で "self = {}"を宣言しなければ、 "self"(または ":")をそれが機能するための関数パラメータが含まれています。これは "自己"との取引ですか?
「self」を使用すると、他の意味がありますか?
例1つの
function Character.new(x)
self = {}
self.name = x
return self.name
end
a = Character
b = Character
hobbit = a.new ("Frodo")
dragon = b.new ("Smaug")
print (hobbit)
print (dragon)
例2
Character = {}
function Character:new(x)
self.name = x
return self.name
end
a = Character
b = Character
hobbit = a:new ("Frodo")
dragon = b:new ("Smaug")
print (hobbit)
print (dragon)
; ^) Zalokin
'self'は、': '表記法でメソッドを定義するときに表示される暗黙的な最初のパラメータです。キーワードではないので、常に明示的に宣言することができます。 – luther