求lua的指点

2012-06-17 00:00:56 +08:00
 Echoldman
请朋友们指点下lua,资料,调试,环境神马单位。另外,「Lua程序设计」这本书怎样,哪里能买到。
5320 次点击
所在节点    Lua
15 条回复
Echoldman
2012-06-17 00:01:17 +08:00
多谢各位!
zztczcx
2012-06-17 01:08:55 +08:00
这本书不好买了吧~而且还是老版本的~资料也就官网比较全吧~在线也只有上个版本的文档~
Echoldman
2012-06-17 22:14:29 +08:00
希望有经验的朋友多多分享啊。
kran
2012-06-17 22:40:09 +08:00
可以去淘宝买,其他的主要是官网和luaforge,有邮件列表
Echoldman
2012-06-18 00:08:02 +08:00
@kran 恩,刚看了淘宝上挺多了。主要是不知道这书的内容怎样,我没有函数式语言的经验。
terrance
2012-06-18 01:00:29 +08:00
我现在越发觉得FP只是一些技巧的总称,内容很多,一般用到的也就高阶函数。但是你必须要搞清楚Closure这个概念,就是明白函数可以bind一个context。重点搞清楚map, reduce, filter, partial, compose几个函数。看看Haskell的prelude库或者Javascript的underscore库,就基本上明白了。一些深入的概念慢慢用就清楚了。
terrance
2012-06-18 01:05:35 +08:00
immutable data只是pure FP language的特性,为了提高空间利用效率一般实现的时候都会做成persistent data, 不是持久化,是新数据相对于老数据增量变化的一种数据结构实现,有一本书里面讲了。基本上看看就行了,使用的时候没有太大的差别。

不管data是不是immutable, 自己写函数的时候还是要注意一些,尽量写一些pure function。特别要注意函数中对于引用类型的修改,这里往往会出错。
terrance
2012-06-18 01:09:26 +08:00
基本上慢慢的不用for/while这种loop语句,使用map/filter/reduce,以及尾递归,就慢慢入门了。然后尽量写小函数,用partial/compose这种高阶函数将他们组合起来,基本上程序会越来越清晰,一些高阶的技巧就会不知不觉中使用了。
clino
2012-06-18 08:56:30 +08:00
@Echoldman PIL 是 lua 的作者写的,学 lua 这本书肯定是最好的了
lua到后面免不了和c打交道,和python 比起来和c的联系更紧密
Echoldman
2012-06-18 10:25:14 +08:00
@terrance
@clino
多谢!
Echoldman
2012-06-18 10:52:06 +08:00
@clino
@terrance
打算在iOS的程序里面用lua构建一个可通过更新去执行不同的程序的东东,因为iOS的程序除去开发还有提交审核的时间,而且也不是所有的用户都会升级新版本。不知道lua在嵌入执行的时候,效率怎样。
clino
2012-06-18 11:00:20 +08:00
@Echoldman 我觉得在我知道的这些高级动态语言里,lua的执行效率是最好的,当然你对lua本身和实现了解得越多,就越能知道怎么用lua来写出执行效率比较高的程序
如果很想追求运行效率,可以用要优化的部分用c写,然后用lua来调用的方式
Echoldman
2012-06-18 11:09:50 +08:00
@clino 我们在选内嵌脚本的时候,考虑两个要素:执行效率和Library的大小。现在来看lua的library大小足以,至于效率,其实在移动的客户端并没有密集的运算,只要不特费内存和cpu就OK。
clino
2012-06-18 11:16:08 +08:00
@Echoldman lua原本设计用途之一就是嵌入脚本引擎,而且实际上也是这样的用法居多,这方面是很成熟的,看你的描述应该是很适合你的需求的
Echoldman
2012-06-18 11:29:44 +08:00
@clino OK,多谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/39700

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX