コロンの使い方
 関数定義と関数呼び出しの際にコロンが使えます。コロンを使うと暗黙の引数selfが使えるようになり、かなり便利になります。
 詳しくはリファレンス等を見てもらうとして、今回は自分がはまったことをひとつ。

 関数定義において、
function test:func(...) ... end
 は
function test.func(self, ...) ... end
 とほぼ同じですが、
test:func = function(...) ... end
 という書き方はできません。「function arguments expected near '='」なるエラーが出ます。
 functionを後置したいのであれば、暗黙の引数selfを略さずに書いて
test.func = function(self, ...) ... end
 とする必要があります。

 マニュアルをよく読めばすぐ解る話なのですが、小一時間ほど悩んでしまいました。
[PR]
by lyricist_m | 2009-05-06 01:17 | NSLua
<< ゲームサンプル(ドッジ) スクリプト解読中 >>