• 第3课


    一、主题(Agenda)

    - 变量(全局变量/局部变量)

    - 程序块(chunk)

    - 注释(单行注释/多行注释)

    二、变量(全局变量/局部变量)

    1、Lua支持全局变量局部变量的概念。

    • 全局变量:直接定义变量名,并且赋值。(a = 1;  // 分号可选

    • 局部变量:使用local关键字进行定义。(local b = 2;)

    2、变量命名规则

    - 遵循C/C++语言中的变量命名规则

    - 避免定义下划线开头并跟着大写字母的变量名。

    - Lua关键字不能用作变量名。

    例子

    s = "Lua"; (✔)

    i = 1; (✔)

    _float_ = 0.01; (✔)

    PI = 3.14; (✔)

    if = "err"; (✘  if是关键字)

    _Err = 0.1; (✘ )

    标识符 = 1;(✘ 不能以汉字作为变量名)

    _PI_ = 3.14; (✘)

    3、Lua中的变量使用

    - 可以在一行定义多个变量,尽量在定义变量时赋值。

    - 定义变量时不需要声明类型,变量具有动态类型。

    - 未赋值的变量,其值为 nil(空值)

    示例:

    a = 1;    -->  a = 1

    b, c = "2";  -->  b = "2"; c = nil;

    d = 3, 4;   -->  d = 3;

    4、变量使用的注意事项

    - 局部变量作用域仅限于块中(if, else, while, do, function)

    - 在Lua中尽可能使用局部变量(访问速度更快),因为每个全局变量Lua都会有记录,记录多了查找起来就慢了。

    - 当不再使用全局变量的时候,使用 nil 进行赋值,使得Lua编译器知道这些全局变量不使用了,可以进行销毁。

    三、程序块

    - Lua解释器以程序块的方式处理Lua代码。

    - 每一段可执行的Lua代码都可以称为程序块。

    - 一个程序块一条或多条Lua语句构成。

               简单的程序块:一条语句

               复杂的程序块:多条不同语句及函数定义构成

    下面的语句是程序块吗?


    function f(a, b)
    return a*a - b*b;
    end
    (✔)// function函数是语句块。


    a = 1 b = 2
    a = a*a - b*b
    (✔) // a = 1 b = 2之间可以没有分号。


    local a = a;
    (✔)// 第二个a肯定是全局变量,然而没有定义,那么为 nil。


    do
    return 1;
    (✘)  // 没有end 结束块

    四、注释(单行注释/多行注释)

    - 单行注释: --

    - 多行注释:--[[ ......]]

    多行注释技巧:

    --[[
    print("Hello!");
    --]]


    如上所示,可以注释掉print打印语句,如果我们又想还原的话,不需要去掉--[[ ...--]] ,而只需要在--[[前加一个- ,变成 ---[[就可以取消注释了。特别方便。

    五、小结

    1.Lua的变量名遵循C/C++语言变量名的规则

    2.Lua可以在一行定义多个变量,且不需要声明类型

    3.Lua程序中尽量使用局部变量效率更高

    4.Lua程序块指一条或多条合法的可执行语句

    5.Lua支持单行注释多行注释



  • 相关阅读:
    Java言语与C言语有哪些不同
    只会增删改查的Java程序员该如何发展
    java“单根继承结构”
    Java编程领域你需要懂得技术名词解释
    HTTP相关工具类/协助类分享
    说说Java到底是值传递仍是引用传递
    Java自定义ClassLoader实现
    深化详细分析java的发展前景!
    2020Java面试题及答案,命中率高达90%
    Python爬虫详解,每个步骤都给你细致的讲解(附源码)
  • 原文地址:https://www.cnblogs.com/hoiday/p/10739450.html
Copyright © 2020-2023  润新知