lua中load的使用方法
2013-12-06 16:19
501 查看
前面一篇博文提到了,用load函数实现Lua的反射机制,但是没有深入的讲解load的用法。load的本质就是在Lua代码中运行一段存储在字符串中的代码。但很快你会发现,它并不是将字符串去掉“引号”那么简单,如:
经过上面的试验,我们知道了load封装了一个以字符串内容为函数体的函数,所以我们用同样的方法在load中传入一个函数名:
b = 200 print(load("b"))解析器毫不犹豫的给你一个error。因为load有另一层含义,它是将字符串的内容作为一个函数体返回。所以以下代码才是正确的使用方法:
b = 200 print(load("return b")())将上面的代码其实等同于:
b = 200 function func() return b end print(func())
load("return b") 就等于函数: function func() return b end
经过上面的试验,我们知道了load封装了一个以字符串内容为函数体的函数,所以我们用同样的方法在load中传入一个函数名:
function add(a, b) return a + b end value = load("return add")() print(value(1, 2)) --就等于: function func() return add end value = func() print(value(1, 2))
相关文章推荐
- hibernate中使用session对象获得持久化对象get和load方法的区别
- 前台使用load一个集合后台接受的方法
- http_load的安装及使用方法
- mysql使用load data infile的一些解决方法
- 使用jQuery的load方法实现div局部刷新
- Hibernate中get()与load()的区别,以及关于ThreadLocal的使用方法
- 10、Lua使用C++中的类——调用类方法并访问类变量
- Hibernate学习笔记(3):session的get、load、delete方法和Query的简单使用
- 使用lua++.exe的方法
- MySQL中使用load data命令实现数据导入的方法
- Hibernate的load()和get()方法的使用
- Tolua使用笔记二:lua与C#的函数,变量交互方法
- iOS中load 与 initialize 静态方法的区别使用
- 使用Lua编写Nginx服务器的认证模块的方法
- 禁止jQuery Load使用缓存的方法
- php使用simplexml_load_file加载XML文件并显示XML的方法
- nginx中使用lua脚本的方法
- 在Ext的JsonStore的load方法中使用回调callback 修改treeStore 数据
- mysql中的Load data的使用方法
- 缓冲加载图片的 jQuery 插件 lazyload.js 使用方法详解