美文网首页
lua语法-变量的定义与使用

lua语法-变量的定义与使用

作者: qiuzy_666 | 来源:发表于2018-03-04 14:48 被阅读0次

lua语法-变量(全局变量与局部变量)

全局变量:直接定义变量名,并赋值

例如,a = 1;
注:用;结束当前语句(可选,也可以不使用分号)

局部变量:使用local关键字进行定义

例如,local b = 2;

变量命名规则

  • 遵循C/C++语言中的变量命名规则
  • 避免定义下划线开头并立即跟着大写字母的变量名
  • lua关键字不能用作变量名

例如,以下变量定义语句合法:

s = "lua";  
i = 1;  
\_float\_ = 0.01  
PI = 3.14  

例如,以下变量定义语句不合法:

if = "err";  
_Err = 0.1;  
标识符= 1;  
\_PI\_ = 3.14

lua中的变量使用:

  • 可以在一行定义多个变量,尽量在定义变量时赋值
    注:可以使用一个 = 对多个变量进行赋值,赋值采用一一对应原则,如果变量和值不是一一对应,则未赋值的变量默认值为nil
  • 定义变量时不需要声明类型,变量仅具有动态类型,不具有静态类型
  • 未赋值的变量,其值默认为nil(空值)
    例如,
    a = 1
    b,c = "2"
    d = 3,4  

以上程序执行完之后,变量的值分别是:
a = 1
b = 2
c = nil
d = 3

变量使用的注意事项

  • 定义变量时不需要声明类型
  • 局部变量的作用于仅限于块中(if,else,while,do,function)
  • 在lua中尽可能使用局部变量(访问速度更快)
  • 当不再使用全局变量的时候,用nil进行赋值

变量定义实例程序:

a,b = 1,2,3;
str = "global";

do
    local x,y = a,b;
    local str = str;
    --局部变量str的值由全局变量str(global)进行传递
    print("str = ",str);
    
    --将str局部变量进行重新赋值,str局部变量的值变为local
    str = "local";
    print("str = ",str);
    
    print("x = ",x);
    print("y = ",y);
    print("a = ",a);
    print("b = ",b);
end
print("---------------------\n");
print("str = ",str);

--以下输出语句均针对全局变量    
print("x = ",x);
print("y = ",y);
print("a = ",a);
print("b = ",b);

a,b,str = nil;

以上程序执行之后的输出结果为:
str = global
str = local
x = 1
y = 2
a = 1
b = 2
---------------------
str = global
x = nil
y = nil
a = 1
b = 2

分析:

  • do......end之间定义的变量均为局部变量
  • 当end执行后,所有局部变量生命周期结束;故在end之后,输出x和y均为未赋值的变量,变量值均为nil。

相关文章

  • Lua与C#的交互实现

    lua与C#交互使用LuaInterface实现定义变量:1,Lua lua = new Lua() --定义一个...

  • lua语法-变量的定义与使用

    lua语法-变量(全局变量与局部变量) 全局变量:直接定义变量名,并赋值 例如,a = 1;注:用;结束当前语句(...

  • lua变量与语法

    一 、变量: Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、...

  • Golang语法

    变量定义 变量定义语法 使用var关键字,可放在函数内,也可放在包内 使用:=定义变量,只能在函数内使用 内建变量...

  • Lua 快速笔记(二) syntax

    参考programing in lua 语法 函数 常用函数 语法 局部变量和代码块 控制语句 Lua 认为 fa...

  • lua 中 . 和 : 的区别

    lua 中 . 和 : 的区别首先在lua中使用“:”定义的函数会自动传入一个名为self的变量,这个变量是隐含的...

  • Kotlin研发第一弹——基本语法

    基本语法 基本语法包定义定义函数定义局部变量注释使用字符串模板使用条件表达式使用可空变量以及空值检查使用值检查以及...

  • CSS自定义属性级联变量var()

    语法 定义语法:--variableName: value; 变量名称(variableName)使用规范: 以"...

  • wepy 与原生小程序得区别、不同

    规范方面: 变量与方法尽量使用驼峰命名,避免使用定义得) 事件语法: 原生小程序: bindtap=“click”...

  • OC与Swift的主要区别

    swift与OC的主要区别就是语法区别,其他大抵相同. 区别1: swift中使用let定义常量,var定义变量....

网友评论

      本文标题:lua语法-变量的定义与使用

      本文链接:https://www.haomeiwen.com/subject/gmoffftx.html