lua相关的小知识

lua的特性

1. 轻量级:一标准的C语言编写原发开放,编译后仅仅100K,占用内存小;

2. 扩展性:Lua提供了非常已于使用的扩展口和机制;

3. 支持面向过程编程和函数式编程

lua的数据类型

nil、boolean、number、string、userdata、function、thread和table

其中:lua把false和nil看作”假“,其他的是都是“真”

pairs和ipairs区别

pairs迭代table,可以遍历表中所有key并返回nil

ipairs迭代数组,不能返回nil,遇到nil则退出

闭包

外部函数+外部函数创建的upvalue+内部函数(闭包函数)

function test() 
    local i=0
    return function()//尾调用
        i+=1
        return i
    end
end

闭包在迭代器中的运用:迭代器需要保留上一次调用的状态和下一次成功调用的状态,刚好可以使用闭包的机制来实现

元表

猜你喜欢

转载自www.cnblogs.com/mikeCao/p/9271543.html