lua学习笔记
1.全局变量不需要声明,给一个变量赋值后立即创建这个
全局变量,没有初始化,全局变量为nil,要删除全局变量
只需要赋值为nil即可。
2.注释,单行注释为--,注释块为--[[.....--]]
3.lua为动态类型语言,定义变量不需要声明类型,lua中的
8个基本类型分别为nil,boolean,number,string,userdata,
function,thread,table
4.lua字符串:print("10" + 1) -> 11 print("hello" + 2)
error
..是lua中字符串的连接符,为了规范,使用的时候前后必须
有空格,例如:print(10 .. 20) --> 1020
tonumber(ags)当ags有效是才能使用,tostring(ags)可以将
数值转换为字符串,没有限制。
5.表类型
创建 a = {}
添加 a['k'] = 100
表的存储可以根据不同的类型自动增长,当程序中不再使用
时,lua的内存管理机制会自动删除且回收占用空间。
一种简洁的表示形式a.x = 10 相同 a["x"] = 10
6.表达式
二元运算符: +, -, *, /, ^
一元运算符: -
关系运算符: <, >, <=, >=, ==, ~=
逻辑运算符: and, or, not且and的优先级高于or
连接运算符: ..
运算符优先级
^
not, -
*, /
+, -
..
<, >, <=, >=, ==, ~=
and
or
a = {[1] = "red", [2] = "blue",}最后一个逗号是方便扩展
7.多返回值
function maximum(a)
...
...
return m, mi
end
8.迭代器与泛型for
闭包:能够访问外部函数局部变量的内部函数
9.loadstring和loadfile
loadstring加载一段执行代码返回一个函数
loadfile加载一个源码文件返回一个函数