调用 Lua 函数
Lua 语言的一大优势在于允许在一个配置文件中定义应用所调用的函数。例如,我们可以用 C 语言编写一个应用来绘制某个函数的图形,并用 Lua 定义要绘制的函数。
调用 Lua 函数的 API 规范很简单:首先,将待调用的函数压入栈中;然后,压入函数的参数;接着用 lua_pcal 进行实际的调用;最后,从栈中取出结果。
举一个例子来讲,假设配置文件中有如下的函数:
function f (x, y)
return (x ^ 2 * math.sin(y)) / (1 - x)
end
我们想在 C 语言中对指定的x和y计算表达式z = f(x,y) 的值。假设我们已经打开了 Lua库并运行了该配置文件。
double f (lua_State *L, double x, double y