编辑代码

-- JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。
print "Hello world!     -  lua.jsrun.net"
--[[
//这些是在c中需要提前写好的
#include <lua.h>
#include <stdio.h>

// 注意,提供给lua调用的方法必须是static int类型的函数
// 返回值表示该函数返回值的个数
// 函数返回值通过lua_push放入堆栈中
static int add(lua_State *L)
{
    printf("C -- add:\n");
    // 解析参数
    int a = lua_tonumber(L, 1);
    int b = lua_tonumber(L, 2);
    printf("a is %d\nb is %d\n", a, b);
    // 返回给lua的值
    lua_pushnumber(L, a + b);
    return 1;
}

int luaopen_func(lua_State *L)
{
    // 注册方法提供调用,前面是调用名称,后面是调用处理函数
    lua_register(L, "add", add);
    return 0;
}
--]]
m=require('func')
print("require result:")
print(m)

local a, b = 3, 4
local res = add(a,b)
print("res : " .. res)
--还有一个注册库的方法,这个需要自己去查找