lua_getlocal
指定されたアクティベーションレコードのローカル変数についての情報を取得します。
[-0, +(0|1), -]
c
const char *lua_getlocal (lua_State *L, lua_Debug *ar, int n);説明
与えられたアクティベーションレコードのローカル変数についての情報を取得します。arパラメータは、以前のlua_getstackの呼び出しによって記入された有効なアクティベーションレコードでなければなりません、またはフックへの引数として与えられる必要があります(lua_Hook参照)。nインデックスは、調べるローカル変数を選択します(1は最初のパラメータまたはアクティブなローカル変数であり、最後のアクティブなローカル変数まで続きます)。lua_getlocalは変数の値をスタックにプッシュし、その名前を返します。
'('(開き括弧)で始まる変数名は、内部変数(ループ制御変数、一時変数、C関数のローカル変数)を表します。
インデックスがアクティブなローカル変数の数を超える場合は、NULL(何もプッシュせず)を返します。
サンプルコード
c
lua_Debug ar;
lua_getstack(L, 1, &ar);
const char *name = lua_getlocal(L, &ar, 1);
printf("ローカル変数名: %s\n", name);このコードは、現在の関数の最初のローカル変数名を取得して表示します。
互換性
- Lua5.1
関連項目
- lua_setlocal
- lua_getstack