• lua基础部分(变量,数据类型, 运算符, 语句)


    这里重点总结一下lua基础,几个简单的点,记录下来,方便以后查看,不是很详细,稍微概括了一下。也希望可以帮到lua初学者。

    Lua简介:

    Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的 函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本, 也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解 和维护。

    Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上 都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引 擎中,Lua的速度是最快的。这一切 都决定了Lua是作为嵌入式脚本的最 佳选择。

    一、变量

    lua中变量的命名规则和C语言中一样:字母数字下划线,不能以数字开头,区分大小写,不能是关键字。(这估计都顺嘴就出来了)

    变量的赋值规则和C语言,C++里不是很一样,需要注意以下两点:

    如果变量的个数小于值的个数,用nil补充。(下面的数据类型中会详细介绍)

    如果变量的个数大于值的个数,则多余的值则将被忽略。

    Lua中的变量也分为全局变量和局部变量

    全局变量:a = 5;

    局部变量:local a = 5;

    二、数据类型

    lua中的数据类型和C语言中的数据类型不太一样,C语言中有多种数据类型,比如数字就有int,short,long,float,double还有枚举类型等等好多,但是在Lua语言里,数据类型只有八种:number, string, nil, bool, function, table, userdate, thread (userdate和thread在开发中不常用,所以下面就不做过多介绍了)

    number:指任意实数。包括了 int,short,long,float,double。。。而且number如果有小数,除不尽的情况下,不只是精确到小数点后八位。

    string:这个和C#里有一定区别,在C#里,对一个字符串重新赋值,是重新复制一块空间,进行赋值,原字符串所占空间不销毁。但是在Lua里面,就是直接在这块空间上改写字符串的内容。

    数字和字符串之间的转换

    将数字转换成字符串,可以强转,用tostring(),或者隐式转换(10 .. "Mumu"),需要注意,数字后面必须有空格,不然系统就默认第一个点为小数点

    字符串转换为数字,用tonumber(),但是一定要保证字符串是纯数字,不然编译错误,(不能通过ascll码转换)。

    nil:类似于C中的null,也可以用来对变量的删除操作

    bool:这个和其他语言也有很大不一样,C语言中是0或者false为假,其余都为真,而在Lua语言里面,只有nil或者false为假,其余为真,包括0,这个概念一定要记住,不要和其他语言混淆。

     function:方法,使用function需要注意,必须先声明,后调用,否则报错。而且可以有多个返回值。

    table:表,相当于数组、字典、列表...以键值对形式存储,索引值从一开始递增一

    和数组一样,有两种初始化方式:

    方式一:先定义一个空表,然后初始化。

    tab = { },

    tab[1] = "Mumu"

    tab["age"] = "15"

    方式二:定义的同时初始化

    tab = {"Mumu",age = 15}

    遍历输出表中元素

    这时有两种遍历方式。第一种:

    for i,v in ipairs(tab) do
        print(i,v)
    end

    输出结果为

    1    Mumo
    [Finished in 0.1s]

    第二种:

    for k,v in pairs(tab) do
        print(k,v)
    end

    输出结果为:

    1    Mumo
    name    15
    [Finished in 0.1s]

    由此可以看出,ipairs只能遍历索引为整数的元素,pairs可以遍历表中所有元素。

    三、运算符

    Lua中的运算符有,算术运算符,关系运算符,逻辑运算符

    算术运算符:+ - * / = % ...

    关系运算符:> < >= <= == ~= (Lua中的不等于是~=)

    逻辑运算符:and or not (相当于C语言中的&& || !)

    and:当表达式一位真的时候 返回表达式二的值,当表达式一为假的时候,返回表达式一的值

    or:当表达式一为真的时候,返回表达式一的值,当表达式一为假的时候,返回表达式二的值

    not:取反,值为true或者false

    四、语句

    语句分为:

    赋值语句,条件语句(没有switch),循环语句

    条件语句:if ... then end   

    循环语句: for ... do ... end    while ... do ... end      repeat... until....end

  • 相关阅读:
    ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that
    JSF>自订转换器 小强斋
    JSF>标准验证器 小强斋
    JSF>自订验证器 小强斋
    JSF>输入、输出、命令、选择、表格、其他标签 小强斋
    JSF>自订转换器 小强斋
    JSF>自订验证器 小强斋
    JSF>错误讯息处理 小强斋
    JSF>自订验证器 小强斋
    JSF>输入、输出、命令、选择、表格、其他标签 小强斋
  • 原文地址:https://www.cnblogs.com/1217224194-jiang/p/6866911.html
Copyright © 2020-2023  润新知