1.数组操作 void lua_rawgeti(lua_State * L ,int index,int key) void lua_rewseti(lua_State * L,int index,int key) index表示table在栈的位置,key表示元素在table中的位置 test.lua内容 tab = {"a","b","c","c","e","f","g&q…
练习1.1:运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题. 答:当输入负数时,循环无法终止,因为原本程序中的终止条件为n==0,而在输入为负数情况下,无法达成此终止条件. 程序在输入为负数时会失效,在输入为0和整数以外的其他数时都会失效,因为每次迭代将值减少1:在其他情况下,无法出现恰好==0的终止条件,从而导致堆栈溢出. 解决办法有两个思路:1.在调用方进行约束:2.在被调用方进行约束. 为函数本身简单起见,函数中终止条件修改为<=0,调用方负责传入的数值为非…
1.lua中的标识符可以是由任意字母.数字和下划线构成的字符串,但不能以数字开头.2.lua将通常类似"_VALUE"的标识符作为保留标识符3.lua的保留字 and break do else elseif end false for function if in loacl nil not or repear return then true until while 有大小写之分 4.行注释-- 块注释--[[ …… ]]==============================…
1 开始 2 类型与值 3 表达式 4 语句 5 函数 6 深入函数 7 迭代器与泛型for 8 编译,执行与错误 9 协同程序(coroutine) 10 完整的示例 11 数据结构 12 数据文件与持久性 13 元表(metatable)与元方法(metamethod) 14 环境 15 模块与包 16 面向对象编程 17 弱引用 18 数学库 19 table库 20 字符串表 21 I/O库 22 操作系统库 23 调试库 24 C API概述 25 扩展应用程序 26 从Lua调用C…
摘要:lua程序设计第二版学习笔记 脚本语言的基础语法大都比较简单,这里只列举一些lua独有,或者需要特别注意的语法点. 书中前三章的内容是一些惯常的引言,基础数据类型,运算符等内容,相对简单,这里就不再赘述. 语句 1.do...end 可以用来包含一个程序块. 2.在循环语句中声明的局部变量,在条件判断时依然存在 3.for循环分为数字型和泛型 数字型: for var=exp1, exp2, exp3 do <执行体> end 类似于C中将括号和句号去掉,var初始值为exp1,增长到e…
Lua为面向对象式的调用也提供了一种特殊的语法——冒号操作符.表达式o.foo(o, x)的另一种写法是o:foo(x),冒号操作符是调用o.foo时将o隐含地作为函数的第一个参数.Lua可以调用C语言编写的函数.5.1 多重返回值(multiple results)Lua允许函数返回多个结果.Lua的几个预定义函数就是返回多个值的.例如,用于在字符串中定位一个模式(pattern)的函数string.find.该函数若在字符串中找到了指定的模式,将返回匹配的骑士字符和结尾字符的索引.在此就需要…
目录 数组操作 字符串操作 在c函数中保存状态 生活总需要一点仪式感,然后慢慢的像那个趋向完美的自己靠近. 数组操作 Lua中的数组就是以特殊的方式使用边.像lua_setttable and lua_gettable这种用来操作的通用函数,也可以用于操作数组,不过C API为使用整数索引的表访问和更新提供了专门的函数: 1 2 void lua_geti (lua_State *L, int index, int key); void lua_seti (lua_State *L, int i…
Revise the main routine of the longest-line program so it will correctly print the length of arbitrarily long input lines, and as much as possible of the text. /* This is the first program exercise where the spec isn't entirely * clear. The spec says…
在Lua中,一切都是变量,除了关键字.TTMD强大了. 1.注释 -- 表示注释一行 --[[ ]]表示注释一段代码,相当于C语言的/*....*/ 注意:[[ ... ]]表示一段字符串 2.lua编程 先从最简单的来了解lua吧 print("Hello Lua") --打印结果:Hello Lua 在Lua中,语句之间可以用分号";"隔开,也可以用空白隔开.一般来说,如果多个语句写在同一行的话,建议总是用分号隔开. a.控制语句 Lua 有好几种程序控制语句,…
蒲公英 · JELLY技术周刊 Vol.27 这个热闹的十月终于要走到尾声,React 17 历经 4 个 RC 版本之后,也于数天前正式发布了,而同在几天前发布的 CRA 4.0 也已经完成了 React 17 的支持.虽然没有任何新特性,看似"平平无奇"的 React 17 却依旧令人神摇目夺,作为承前启后的重要版本,React 17 这样的版本升级或许会引领开源框架的新潮流. 登高远眺 天高地迥,觉宇宙之无穷 基础技术 Rust 给 web 开发生态带来的冲击 伴随着 WebAs…