2011-08-23 14 views
2

誰もこの種の問題に直面していませんか。ここに私のコードはmain.luaにlua:パラメータを他の関数に渡す問題

です:highScore.lua

local highScore = require("highScore") 
local username = "myName" 
local finishedTime = 12345 

highScore:InsertHighScore(userName, finishedTime) 

function InsertHighScore(name,time) 
    print(name) 
    print(time) 
    -- other code 
end 

それは簡単で見て、間違ってはいけませんが、私のコンソールに出て、それにショーを置きます:

table: 0x19e6340 
myName 

テストの日後、私は2つのパラメータが渡される前に、実際に別のテーブルを渡していることが分かりました。 highScore.luaにこれらの変更:

function InsertHighScore(table,name,time) 
    print(table) 
    print(name) 
    print(time) 
    -- other code 
end 

は今、私の「他のコードは、」うまく動作することができますが、なぜそれが私のパラメータの前に私のテーブルを渡しますか?

答えて

4

ルアでは、ドットの代わりにコロンを使用してオブジェクト/テーブルを呼び出すと、オブジェクト/テーブルを最初のパラメータとして関数に渡す必要があることを示します(たとえば、self)。ドットではなく、クラスのパラメータにアクセスしていますという意味ではありませんので、今私は、問題を参照してください...

highScore.InsertHighScore(userName, finishedTime) 
+0

OK:あなたはそれを気にしない場合は、代わりにドットを持つ関数を呼び出します関数を呼び出すのは? – FunFair

+0

とにかく、あなたの速くてきれいな返事duskwuffのためのthx、本当にあなたの助けに感謝、ありがとう=) – FunFair

+1

パラメータへのアクセスと関数の呼び出しは、*同じこと*です。 'highScore.InsertHighScore'は、関数をパラメータとして取得し、カッコで追加します。 – duskwuff

関連する問題