V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Echoldman
V2EX  ›  Lua

求lua的指点

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

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