通常は、データがLuaの標準型(数値、文字列、ブールなど)でない場合にのみ 'userdata'をプッシュします。実行可能な関数ポインタをプッシュしますか?
void nothing(const char* stuff)
{
do_magic_things_with(stuff);
}
返された値が振る舞う必要があります:機能を仮定すると、そのように見えます、;
しかし、どのようにあなたが実際のLuaへのポインタを機能プッシュします(ユーザデータはLuaの関数として実行可能ではないためではないユーザデータとして)このネイティブのLua関数から返された値のように:
function things()
return function(stuff)
do_magic_things_with(stuff)
end
end
これはC APIで可能ですか?はいの場合、どのように(例が分かるでしょうか)?
EDIT:明快さを追加するために、値はC APIを介してLuaに公開された関数によって返されるはずです。
WAAAYが設計されています。 –
@caspinだから最後の編集とDougの答えに対する私のコメント。これを歴史的な文脈の中に置くために、彼は最初にDougの答えに投票し、問題を考えるのをやめました。 –