• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    C语言中通过LUA API访问LUA脚本变量的简单例子

    1.简介

    这一节介绍一些关于栈操作、数据类型判断的LUA API,可以使用这些函数获得脚本中的变量值。

    2.步骤

    编写 test01.lua 脚本,在VS2003中创建控制台C++程序并正确配置,执行查看结果,修改test02.lua脚本后查看执行结果

    3.测试脚本

    以下是用来测试的lua脚本

    复制代码 代码如下:

    function plustwo(x)   
          local a = 2;   
          return x+a;
    end;
    rows = 6;
    cols = plustwo(rows);

    上面的脚本定义了一个函数、两个全局变量(LUA脚本变量默认是全局的)。之后的C++程序中,我们将通过栈操作获得这两个变量 rows, cols。

    4.控制台程序

    复制代码 代码如下:

    #include iostream>

    extern "C"
    {
        #include "lua.h"
        #include "lauxlib.h"
        #include "lualib.h"
    }

    using namespace std;

    int main(int argc, char* argv[])
    {
        cout "01_Read_Stack" endl;

        /**//* Create a LUA VMachine */
        lua_State *L = lua_open();
        luaopen_base(L);
        luaopen_table(L);
        luaL_openlibs(L);
        luaopen_string(L);
        luaopen_math(L);

        int iError;
        iError = luaL_loadfile(L, "../test01.lua");
        if (iError)
        {
            cout "Load script FAILED!" lua_tostring(L, -1) endl;
            lua_close(L);
            return 1;
        }
        iError = lua_pcall(L, 0, 0, 0);
        if (iError)
        {
            cout "pcall FAILED" lua_tostring(L, -1) iError endl;
            lua_close(L);
            return 1;
        }
       
        lua_getglobal(L, "rows");
        lua_getglobal(L, "cols");

        if (!lua_isnumber(L, -2))
       {
            cout "[rows] is not a number" endl;
            lua_close(L);
            return 1;
        }
        if (!lua_isnumber(L, -1))
        {
            cout "[cols] is not a number" endl;
            lua_close(L);
            return 1;
        }
        cout "[rows]"
             static_castint> (lua_tonumber(L, -2))
             "[cols]"
             static_castint> (lua_tonumber(L, -1))
             endl;

        lua_pop(L,2);
        lua_close(L);
        return 0;
    }

    您可能感兴趣的文章:
    • Lua中的变量类型与语句学习总结
    • Lua中的变量和流控制入门学习
    • 详解Lua中的变量相关知识点
    • Lua教程(十): 全局变量和非全局的环境
    • Lua判断变量是否为数字、字符串是否可以转换为数字等
    • Lua中创建全局变量的小技巧(禁止未预期的全局变量)
    • Lua变量类型简明总结
    • Lua中的全局变量、非全局变量总结
    • Lua中全局变量与非全局环境介绍
    • Lua中的变量与赋值方法
    上一篇:Lua读取和写入文件处理例子
    下一篇:Lua字符串模式匹配函数小结
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    C语言中通过LUA API访问LUA脚本变量的简单例子 语,言中,通过,LUA,API,访问,