1. ホーム
  2. function

[解決済み】Luaの.と:の違いについて

2022-04-09 16:51:07

質問

による関数呼び出しの違いについて混乱しています。 .:

> x = {foo = function(a,b) return a end, bar = function(a,b) return b end, }
> return x.foo(3,4)
3
> return x.bar(3,4)
4
> return x:foo(3,4)
table: 0x10a120
> return x:bar(3,4)
3

とは何ですか? : をしているのでしょうか?

どのように解決するのですか?

コロンが渡されるメソッドを実装するためのものです。 self を最初のパラメータとします。 そのため x:bar(3,4) と同じであるべきです。 x.bar(x,3,4) .