-2

このスクリプトをC#プログラムにロードしています

function test()
    print ("A")
end

しかし、私がそれを呼び出そうとすると

LuaFunction func = lua.GetFunction("test")

func.call()

funcがnullであるという問題が発生します。

何が間違っていますか?

4

1 に答える 1

1

スクリプトをC#プログラムにロードしたと言います。testこれはたりない。グローバル変数が割り当てられるように、結果のチャンクコードを実行する必要があります。test

常にそのことを思い出してください

function test()
    print ("A")
end

次の糖衣構文にすぎません。

test = function()
    print ("A")
end

Luaがコードをロードすると、ソースコードがバイトコードにコンパイルされるだけです。影響test = function() endは実行時にのみ実行され、コンパイル時には実行されません。

于 2012-12-01T16:32:04.487 に答える