スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Luaのノウハウその1 - luaL_checkoption

Luaのノウハウを書いていこう。1回目はAPI関数のluaL_checkoption。 説明が面倒なので、なるべく具体例(コード)を書く。

int luaL_checkoption (lua_State *L,
                      int narg,
                      const char *def,
                      const char *const lst[]);

Luaから与えられた文字列をCの列挙型にするのに役立つ。 詳しい説明は面倒なので丸投げ→http://sugarpot.sakura.ne.jp/yuno/html/lua51_manual_ja.html#luaL_checkoption

例:
標準ライブラリの例1(liolib.c; file:seek)
標準ライブラリの例2(loslib.c; os.setlocale)
ちょっと前に自分で書いた例:

  static const char *const names[] = {"any", "utf8", "utf16le", "utf16be", NULL};
  static const yaml_encoding_t encodings[] = {
    YAML_ANY_ENCODING,
    YAML_UTF8_ENCODING,
    YAML_UTF16LE_ENCODING,
    YAML_UTF16BE_ENCODING
  };
  int i = luaL_checkoption(L, 2, "any", names);
  yaml_parser_set_encoding(p, encodings[i]);
スポンサーサイト

テーマ : プログラミング | ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

minoki

Author:minoki
好きなプログラミング言語:
Haskell,Lua
GitHubアカウント
Twitter

最新記事
月別アーカイブ
カテゴリ
検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。