Luaプログラミング入門 > 第8章 C言語との連携 > Luaスタック > Luaスタックから値をポップする


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

Luaスタックから値をポップする 応援する 

Luaスタックから値をポップしてみましょう. 値をポップするにはlua_pop()関数を利用します.

lua_pop(L, 1); //上から1つpopする
lua_pop(L, 2); //上から2つpopする
#include <stdio.h>

#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"

void dumpStack(lua_State* L)
{
        (略)
}

int main (void)
{
        lua_State* L = luaL_newstate();

        lua_pushboolean(L, 1); //trueをpush
        lua_pushnumber(L, 10.5); //10.5をpush
        lua_pushinteger(L, 3); //3をpush
        dumpStack(L);
        
        lua_pop(L, 1); //値を1つpop
        dumpStack(L);
        
        lua_pushnil(L); //nilをpush
        lua_pushstring(L, "Hello world"); //hello worldをpush
        dumpStack(L);

        lua_pop(L, 2); //値を2つpop
        dumpStack(L);

        lua_close(L);
        return 0;
}

実行結果

Stack[ 3-    number] : 3.000000
Stack[ 2-    number] : 10.500000
Stack[ 1-   boolean] : true

Stack[ 2-    number] : 10.500000
Stack[ 1-   boolean] : true

Stack[ 4-    string] : Hello world
Stack[ 3-       nil] :
Stack[ 2-    number] : 10.500000
Stack[ 1-   boolean] : true

Stack[ 2-    number] : 10.500000
Stack[ 1-   boolean] : true

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

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