lua学习(四)

原创 2006年06月15日 09:17:00

    这几天开了个小差, 把lua的很多扩展库都用了一下, luasocket, luasql, luacom, kepler... 最后终于理解了require的作用了.  其实也就是pil提及到的搜索加载目录那么简单,当然有一个经验就是定义LUA_PATH与package.cpath的值,就像定义include和lib的路径一样, 可以方便地导入到lua环境 :)
    本来打算用luasql的odbc库来做数据库访问的开发, 执行sql语句, 游标以及事务都成功了, 唯独执行带参数的存储过程不知道怎么搞,  这可郁闷了我很久. 由于对odbc不熟, 就查了下msdn文档, 后面看看luasql的源码发现于根本没有支持存储过程的参数. 看来要么就要自己在luasql的基础上扩展下,要么就要放弃它了. 手头上的事很多, 先放放,搞清楚一下odbc再说. 
 现在又回到了pil专注lua的语法了. table真的很cool,可以轻松实现稀疏矩阵, 串, 队列(单双向), 栈,集合以及各种其它的数据结构, 而且非常好用.  metatables和metamethods确实很酷, 利用这些东西可以实现运算符重载(看上去像), 继承(单/多),封装, getter/setter等等. 暂时还没有看到类的那一章. 有了前面的内容,怎么用__index定义原型链构造一个类的继承体系, 加上package, 应该八九不离十了,先意淫一把.
 忘了补充一下, 5.1  c api 中的 luaopen_*现在和lua调用其它普通c函数的过程一样:
lua_pushcfunction(L, luaopen_*);
lua_call();
也可以用
lua_cpcall(L, luaopen_*, 0); 简化上面两步的操作, 实际了看lua_cpcall的源码就知道,是一样的
那么现在5.1推荐的开始调用lua的写法是这样的: 
 lua_State *L = luaL_newstate();
 
 lua_cpcall(L, luaopen_base, 0);
 lua_cpcall(L, luaopen_io, 0);
 lua_cpcall(L, luaopen_string, 0);
 // ...
 // ...

LUA学习路线汇总

语法   Lua程序设计Programming in Lua   果冻想-Lua 语法入门 源码   the implementation of lua 50 英文原版 中文翻译   Lua源码鉴...
  • lodypig
  • lodypig
  • 2016年12月09日 21:08
  • 1005

Lua初学者(一)--Lua 简单教学

基础学习、安装、配置Lua环境,基础篇(一),资源上传百度云,直接下载即可。 有好的个人总结都会后续录入的。...
  • zhuzhuyule
  • zhuzhuyule
  • 2014年11月05日 20:31
  • 1465

Lua学习笔记(四)

九、编译、执行与错误 Lua尽管是一种解释型语言,但也允许它在运行源代码之前预编译成一种中间形式。但解释型语言的特征在于,编译器是语言运行时的一部分,并且有能力执行动态生产的代码。因此执行编译产生的...
  • u012480018
  • u012480018
  • 2016年09月02日 22:01
  • 614

JavaWeb学习总结(四)——服务器

一、打包JavaWeb应用   在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:    范例:将JavaWebDemoProject...
  • zw901159
  • zw901159
  • 2016年05月13日 19:30
  • 291

Lua学习笔记四

Lua学习笔记四 通过上一节的知识,我们学会了如何利用表来作为参数,这样我们能实现的功能更多了。但是有一点是没有涉及到的,那就是返回值,而返回值的讨论不能不提userdata类型。 本节的目的:讨...
  • Chinamming
  • Chinamming
  • 2013年12月05日 19:37
  • 489

Lua学习笔记(四)

5、函数 语法: function func_name (arguments-list) statements-list; end; Lua 也提供了面向对象方式调用函数的语法,比如 o:f...
  • fuyuwei2015
  • fuyuwei2015
  • 2017年04月17日 19:42
  • 222

lua学习:lua与C/C++程序的整合

lua与C/C++交互,主要靠lua API和向lua注册好的函数。 这里起关键作用的要数lua_State的结构,这就得讲一下Lua环境和Lua Stack。 Lua环境 Lua环境由所有可...
  • losophy
  • losophy
  • 2013年08月16日 20:05
  • 5435

[quick-cocos2d-x lua学习] 框架详细介绍(一)

第一步: 下载Quick-Cocos2d-X工程 这里我已经把工程上传好了,大家直接下载就是了。    地址:http://down.51cto.com/data/804088    下载成...
  • kyo7552
  • kyo7552
  • 2013年12月04日 23:27
  • 1523

nginx学习(十二)——nginx+lua入门

参考文章:http://www.111cn.net/sys/nginx/106730.htm 1.hello lua nginx通过content_by_lua和content_by_lua_file...
  • xxcupid
  • xxcupid
  • 2016年09月13日 10:49
  • 1319

cocos lua学习笔记

现在学习的时候用的是cocos3.7 + ide1.2 在lua里面,c++的方法和类基本上都在cc.和ccs.里面,可尝试cc.Sprite,ccs.GUIReader 加载ui:local...
  • qq349263818
  • qq349263818
  • 2015年08月27日 17:38
  • 719
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lua学习(四)
举报原因:
原因补充:

(最多只允许输入30个字)