前段时间公司项目中需要用到图片识别算法,需要在iOS中调用Lua方法。
but,从来没有接触过lua肿么办,只知道Lua 是一种轻量小巧的脚本语言啊,于是乎,到处查资料啊苦。。
什么是Lua
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。巴西里约大神们写的~
下载Lua所需要的资源
lua官网
进入Lua官网点击download,解压出src文件夹导入项目中。
OC中调用Lua
github上边有许多资源,我选择了Lua-Objective-C-Bridge,虽然不是星星最多的,但是是我第一个找到的,缘分啊。
解压,将Source/LuaBridge文件夹导入项目中。
开始demo
项目目录
将这两个文件夹导入项目中就可以开始我们的调用了。
等一下,还需要一个lua文件来写我们的测试方法。直接新建一个txt记事本,将后缀名改为.lua即可,so easy!
这个时候就需要在demo.lua中来写我们的测试方法了,简单实现一个加法运算。
加法运算
继续就是在OC中调用这个方法了。
导入头文件
#import "lauxlib.h"
#import "lua.h"
#import "lualib.h"
#import "LuaBridge.h"
创建lua_State对象L
通过luaL_dofile调用demo.lua文件
将方法名和参数入栈
通过调用lua_pcall方法调用lua中的addFun
返回值通过lua_tostring得到
demo