1.函数 dofile 在开发阶段也非常有用。 我们可以同时打开两个窗口,一个窗口中使用文 件编辑器编辑的代码(例如文件 p「og. lua ),另一个窗口中使用交互模式运行 Lua 语言解释 器。 当修改完代码并保存后,只要在 Lua语言交互模式的提示符下执行 dofile(”prog.lua”) 就可以加载新代码,然后就可以观察新代码的函数调用和执行结果了。
2.对大小写敏感的。
3.分隔符“;”不是必须的;
a = 1 b = a * 2
a = 1; b = a * 2;
a = 1; b = a * 2
a= 1 b=a * 2 -- 可读性不佳,但是却是正确的。
4.一个 全局变量在第一次被赋值前的默认值就是 d 而将 nil 赋值给全局变量则相当于将其删除。
5.再次笔记,除了false和nil为假,其余均做真(包括0和空字符串)。
6.and和or遵循短路求值的原则。
7.除0不会报异常,会不执行
8. x=x or V 非常有用,表x 未被初始化时,将其默认值设为v(假定不是boolean类型的false)
等价于if not x t hen x = v end
9.lua中没有三目运算:(a and b or c) 等价于 a?b:c
10.默认数组从1开始计数 args = {1,2,3} => args[1] = 1 可以看出(index和offset),此处下标就是下标,c++下标不单单是小标,亦含指针意义。
--亦可指定下标赋值定义,不是不存在下标为0
args = {}
args[-2] = "-2"
args[-1] = "-1"
args[0] = "0"
args[1] = "1"
args[2] = "2"
11.科学计数法 num_1 = 4.23e3 => 4230.0 num_1 = 4.23e-3 => 0.00423
12.目前Lua5.3数值型支持整型和浮点型(integer & float,float不代表单精度)。
当区分这两者(较少用到):math.type(0.9) & math.type(9)
13.四则运算得到的数值确切类型(整型和浮点型区分)
>加减乘法当操作数都是整型,返回值也是整型。否则,返回浮点型。
>除法(/)针对操作数不管是整型还是浮点型,返回一致,都是浮点型。
>除法求整(//),如果操作数都是整型,返回值也是整型。否则,返回浮点型。
>除法求余(%),a % b == a - ((a / / b) * b)
--其他用法:保留n位小数
> x = math.pi
> x - x % 0.01 --> 3. 14
> x - x % 0.001 --> 3.141
>幂运算(^),返回值同除法。幂次为小数可以计算开几次方。
14.标准数学库math:由一组标准的数学函数组成(三角函数sin、asin等)、最大最小函数(max、min)、伪随机数函数(random)等) 以及 常量(pi和huge(最大可表示数值))等。