Luaプログラミング入門 > 第8章 C言語との連携 > Luaスタック > Luaスタックの値の参照


[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

Luaスタックの値の参照 応援する 

スタックに積まれている値の型を見るにはlua_type関数を使用します.

int lua_type (lua_State* L, int index)

この関数は指定したindexの型を返します(表\ref{Table:LUATYPE}). lua_typeが返す型はlua.h内で定義されています. 有効でないindexが渡された場合はLUA_TNONEを戻り値として返します.

lua_type関数の戻り値

戻り値
nil LUA_TNIL
number LUA_TNUMBER
boolean LUA_TBOOLEAN
string LUA_TSTRING
table LUA_TTABLE
function LUA_TFUNCTION
userdata LUA_TUSERDATA
thread LUA_TTHREAD
lightuserdata LUA_TLIGHTUSERDATA

また,指定した型かどうかを判定するlua_is***関数も存在しています.***の部分には型が入ります.

int lua_is*** (lua_State* L, int index)

例えばindexで指定したスタックの要素がbooleanかを判定したい場合は,

int lua_isboolean (lua_State* L, int index)

とします.返却値がtrue,つまり1であればbooleanであり,false,つまり0が返されればboolean型ではないということになります. これらの関数は実はlua_type関数を利用したマクロとなっています.

また,指定したindexの要素を指定した型で取得する関数lua_to***関数も存在します. ***の部分には型が入ります.

int lua_to*** (lua_State* L, int index)

[Prev] [Next] [Up] [Contents][フレーム表示] [フレーム解除

このサイトについて|ヘルプ|Q&A|個人情報保護|プライバシーポリシー|利用規約|コメント・トラックバック規約|削除規程|広告掲載
Copyright (c) 2005-2007 Time Intermedia Corporation