• Lua学习四----------Lua变量


    © 版权声明:本文为博主原创文章,转载请注明出处

    1.Lua变量

      - 变量在使用前,必须在代码中进行声明,即创建该变量

      - 编译程序执行代码之前编译器需要知道如何给语句变量开辟存储区,用于存储变量的值

      - Lua变量有三种类型:全局变量、局部变量、表中的域

      - Lua中的变量全是全局变量,哪怕是语句块或是函数里,除非用local显示声明为局部变量

      - 局部变量的作用域从声明位置开始到所在语句块结束。

      - 变量的默认值为nil

    2.赋值语句

      - 赋值是改变一个变量的值和改变表域的最基本的方法

      - Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量

      - 遇到赋值语句Lua会先计算右边的所有的值然后再执行赋值操作,可以依此进行交互变量的值

      - 当变量个数和值的个数不一致时

        a. 变量个数 > 值的个数  按变量个数补足nil

        b. 变量个数 < 值的个数  多余的值会被忽略

      - 尽可能的多使用局部变量

        a. 避免命名冲突

        b. 访问局部变量的速度比全局变量更快

    3.索引

      - 对table的索引使用方括号[],也可以使用.

    4.variable.lua

    a = 5							-- 全局变量
    local b = 10					-- 局部变量,不在语句块或函数中,作用域从这里到文件结束
    	
    function joke()
    	c = 15						-- 全局变量,虽然在函数中,但是没有用local显示声明,所以为全局变量
    	local d = 20				-- 局部变量,只在joke()函数中有效,joke
    	print("local d = " .. d)
    end
    
    local e							-- 默认值为nil
    
    joke()
    
    print("a = " .. a)
    print("b = " .. b)
    print("c = " .. c)
    print("d = ", d)				-- .. 只能连接字符串,连接nil会报错
    print("e = ", e)
    
    x, y = "a", "b"					-- 多个变量同时赋值
    print("x = " .. x .. " , y = " .. y)
    
    x, y = y, x						-- 交换变量值
    print("x = " .. x .. " , y = " .. y)
    
    u, v, w = "1", "2"				-- 变量个数 > 值的个数,按变量个数补足nil
    print("u = " .. u .. " , v = " .. v .. " , w = ", w)
    
    q, w, s = "11", "22", "33", "44"-- 变量个数 < 值的个数,忽略多余的值
    print("q = " .. q .. " , w = " .. w .. " , s = " .. s)
    
    tab = {key = "value"}
    print("tab.key = " .. tab.key)	-- 使用.引用索引值
    

    5.效果预览

    参考:http://www.runoob.com/lua/lua-variables.html

  • 相关阅读:
    Apache(文章测试)
    这是一篇Markdown手册
    Linux MySQL 8.0 忘记密码
    composer 自动加载源码解析
    Linux 连接 Internet
    PHP namespace、abstract、interface、trait使用介绍
    网络基础知识
    CentOS7安装Nginx、MySQL、PHP
    局域网内使用ssh连接两台计算机总结
    整数和浮点数的表示方法
  • 原文地址:https://www.cnblogs.com/jinjiyese153/p/6699193.html
Copyright © 2020-2023  润新知