Lua程序设计 - 罗伯拖·鲁萨利姆斯奇 (Roberto Ierusalimschy)

Lua程序设计

罗伯拖·鲁萨利姆斯奇 (Roberto Ierusalimschy)

出版时间

2018-07-01

ISBN

9787121338045

评分

★★★★★

标签

编程

书籍介绍

《Lua程序设计(第4版)》由Lua 语言作者亲自撰写,针对Lua 语言本身由浅入深地从各个方面进行了完整和细致的讲解。作为第4 版,《Lua程序设计(第4版)》主要针对的是Lua 5.3,这是《Lua程序设计(第4版)》撰写时Lua 语言的最新版本。作者从语言使用者的角度出发,讲解了语言基础、编程实操、高级特性及C 语言API 等四个方面的内容,既有Lua 语言基本数据类型、输入输出、控制结构等基础知识,也有对模块、闭包、元表、协程、延续、反射、环境、垃圾回收、函数式编程、面向对象编程、C 语言API 等高级特性的系统讲解,还有对Lua 5.3 中引入的整型、位运算、瞬表、延续等新功能的细致说明。

所有与Lua 语言打交道的人均能从《Lua程序设计(第4版)》受益,包括游戏、嵌入式、物联网、软件安全、逆向工程、移动互联网、C 语言核心系统开发等诸多领域中对Lua 语言有一般使用需要的从业人员,以及需要从编译原理或语言设计哲学和实现角度深入学习Lua 语言脚本引擎的高级开发者或研究人员。

AI导读
核心看点
  • Lua作者亲自撰写,权威讲解语言基础与高级特性
  • 涵盖Lua 5.3新特性,如整型、位运算及瞬表
  • 系统讲解C语言API,深入剖析Lua与宿主交互
适合谁读
  • 游戏开发、嵌入式系统及物联网领域的从业者
  • 需从编译原理或语言设计角度深入学习的研究者
  • 有编程基础,希望掌握轻量级脚本语言的开发者
读前提醒
  • 建议初学者重点阅读前几章基础内容,循序渐进
  • C语言API部分较深,若无C基础可暂略或速读
  • 注意书中部分翻译笔误,建议结合官方文档对照
读者共识
  • 内容简洁有力,是学习Lua最权威且全面的教材
  • 适合有编程基础者,零基础读者阅读门槛较高
  • C与Lua交互部分讲解清晰,对工程实践极有帮助

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "lua_call 函数完成一次无保护的调用,它类似于 lua_pcall,不过在发生错误时,它会传播错误,而非返回错误代码。在一个应用程序中编写主函数时,不应使用lua_call,因为这样需要捕获所有的错误。而编写C函数时,通常可以用lua_call。若有错误发生,只需将错误留下。 当一个 C 函数从 Lua 收到一个字符串参数时,必须遵守两条规则:不要在访问字符串时从栈中弹出它,不要修改字符串。 当一个 C 函数需要创建一个字符串返回给 Lua 时,C 代码还必须处理字符串缓冲的分配的释放、缓冲溢出等问题。"
  • "这个函数有点类似于 C 函数 sprintf,但是无须提供这个新字符串的缓冲。Lua 会动态地创建一个足够大的缓冲来存放字符串,确保不会有缓冲溢出等问题。这个函数会将结果字符串压入栈中,并返回一个指向它的指针。当前,这个函数接受的指示符只有:%%(字符%)、%s(字符串)、%d(整数)、%f(Lua 中的数字,即双精度浮点数)以及%c(接受一个整数,并将其格式化为一个字符)。除此之外,它不接受任何例如宽度或精度选项"
  • "通过这些函数,就无须再关心缓冲的分配、溢出等细节了。此外,这种连接算法也非常高效。"
  • "在调用setDefault后,任何对tab中存在字段的访问都将调用它的__index元方法,而这个元方法会返回0(这个元方法中d的值)."
  • "After the call to setDefault, any access to an absent eld in tab calls its __index metamethod, which returns zero (the value of d for this metamethod)."
  • "local function iter(a, i) i = i + 1 local v = a[i] if v then return i, v end end function ipairs(a) return iter, a, 0 end </代码结束>"
  • "在Lua中,函数是一种“第一类值”,它们具有特定的词法域。 第一类值是什么意思呢?就是说在Lua中函数与其他传统类型的值有着相同的权利。函数可以存储到变量中,也可以作为实参传给其他函数,还可以作为函数的返回值。"
  • "一个函数定义就是一个语句(准确地说是一个赋值语句),这种语句创造了一种类型为函数的值"
作者简介
罗伯拖·鲁萨利姆斯奇(Roberto Ierusalimschy) Lua 语言的首席架构师,从1993年 Lua 语言诞生起即进行 Lua 语言的开发工作,目前是巴西 PUC-Rio(the Pontifical Catholic University of Rio de Janeiro)大学计算机科学专业的助理教授,主要从事编程语言的设计和实现工作。
目录
第 1 部分 语言基础 1
1 Lua 语言入门 2
1.1 程序段 3
1.2 一些词法规范 5
1.3 全局变量 7

显示全部
用户评论
博大精深,还有很多细节没明白,过阵子再回来看
lua这语言总感觉你看这本书和看个快速入门的教程文档没太大区别,时间充裕可以看一下。
学,有很多影子就是
不时翻翻 总有新的体会
前边很平淡,后面才精彩
很喜欢这个封面。恰到好处的译注,对于可能翻译不准确的地方给出原文,可以看出是非常用心的译著。
非常清晰. 即使一众语言书中, 也算是简洁清晰的范例. 一些内置函数给了实现, 比如package.searchpath. 虽然一道练习也没做, 但是感觉练习题也不错.
简单的lua
这本书比最早看的第二版好多了,内容更加丰富,感觉翻译上也更顺一些。学习Lua这门语言好像找不到更合适的书推荐了,不过还是要吐槽一下,这本书并不太适合没有编程基础的人阅读。
下载
收藏