luaL_checkoption
指定された引数が文字列であることを確認し、配列内の対応するインデックスを返します。
[-0, +0, v]
c
int luaL_checkoption (lua_State *L, int narg, const char *def, const char *const lst[]);
説明
関数の引数narg
が文字列であるか確認し、その文字列を配列lst
(NULLで終了する必要があります)で検索します。文字列が見つかった配列内のインデックスを返します。引数が文字列でない場合や文字列が見つからない場合はエラーを発生させます。
def
がNULL
でない場合、この関数は引数narg
が存在しない場合やnil
である場合にデフォルト値としてdef
を使用します。
これは文字列をCの列挙型にマッピングするのに便利な関数です(Luaライブラリでは、オプションを選択するために数値の代わりに文字列を使用するのが通常の慣習です)。
サンプルコード
c
const char *options[] = {"option1", "option2", NULL};
int index = luaL_checkoption(L, 1, NULL, options);
printf("選択されたオプションインデックス: %d\n", index);
このコードは、引数1が指定されたオプションリスト内のどのインデックスかを確認し、表示します。
互換性
- Lua5.1
関連項目
- luaL_argerror
- luaL_checkstring