大粨兔奶糖

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

lua 变量

类型

  • 全局变量

    lua 变量默认均为全局变量

    打印一个未定义的变量输出为 nil

    示例代码

    a = 1
    print(a, b)
    
  • 局部变量

    lua 变量默认均为全局变量, 除非变量前显式声明了 local 关键词

    在局部变量作用域范围之外, 无法获取到变量值

    示例代码

    a = 1
    local b = 2
    
    function test()
    	a = 4
    	local c = 3
    end
    
    test()
    
    print(a, b, c)
    
  • 表中的域

    对 table 的索引使用 "[]"

    若索引为字符串时, 也可以使用 "."

赋值

  • 简单赋值

    和其他语言一样, 直接使用 "=" 进行赋值

    示例程序

    a = 1
    
  • 多变量同时赋值

    类似于 go 语言, lua 语言也可以使用多变量同时赋值的语法

    当变量数量大于值数量, 多余的变量会被赋值为 nil

    当变量数量小于值数量, 多余的值会被忽略

    示例程序

    a, b = 1, 2
    print(a, b)
    
    a, b, c = 3, 4
    print(a, b, c)
    
    a, b = 5, 6, 7
    print(a, b)
    

总结

变量有三种类型

  • 全局变量
  • 局部变量
  • 表中的域

尽可能使用局部变量

  • 避免命名冲突
  • 访问局部变量的速度比全局变量快
  • 防止变量污染

lua 支持多变量同时赋值

posted on 2017-04-13 11:16  大粨兔奶糖  阅读(247)  评论(0编辑  收藏  举报