我是靠谱客的博主 尊敬小刺猬,最近开发中收集的这篇文章主要介绍lua_tonumber不自动出栈哦!lua_tonumber,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • lua_tonumber

lua_tonumber

  • 特码的好像lua_tonumber不自动出栈哦!
    • 哎,不出就不出把

lua_tonumber(L, 1);
lua_tonumber(L, 2);

  • 分别代表从左到右的参数!

#include <stdio.h>

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

/* 指向lua解释器的指针 */
lua_State* L;

static int average(lua_State *L)
{
    /* 得到参数的个数 */
    int n = lua_gettop(L);
    double sum = 0;
    int i;
//top is right arg


    /* 循环遍历参数 */
    for (i = 1; i <= n; i++)
    {
        /* 所有参数求和 */
        sum += lua_tonumber(L, i);
    }

    /* 压入平均值 */
    lua_pushnumber(L, sum / n);//return1

    /* 压入和 */
    lua_pushnumber(L, sum);//return2

    /* 返回返回值的个数 */
    return 2;
}

int main ( int argc, char *argv[] )
{
    /* 初始化Lua */
    L = luaL_newstate();

    /* 载入Lua基本库 */
    luaL_openlibs(L);

    /* 注册自定义函数 */
    lua_register(L, "average", average);

    /* 执行avg.lua文件 */
    luaL_dofile(L, "avg.lua");

    /* 关闭Lua */
    lua_close(L);


    return 0;
}

  • avg.lua
print(average(12,23))

lua_tonumber和lua_tonumberx的区别在于lua_tonumberx多一个int*参数,用于返回操作是否成功。

  • lua_tonumber返回double
  • lua_tointeger返回long long

最后

以上就是尊敬小刺猬为你收集整理的lua_tonumber不自动出栈哦!lua_tonumber的全部内容,希望文章能够帮你解决lua_tonumber不自动出栈哦!lua_tonumber所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部