zoukankan      html  css  js  c++  java
  • Lua 基本语法

    学习Unity的ulua热更新插件就必须先学习lua的基本语法. 我们一起来学习Lua吧O(∩_∩)O. 首先搭建Lua运行环境Lua for windows

    下载地址: http://www.cr173.com/soft/44725.html

    安装之后启动SciTE程序(Lua脚本编辑器)新创建一个lua后缀名文件,写上print("hello world"),print输出控制台一句话如下图

    image

    如果上面运行成功你已经搭建好Lua的环境,接下来我们就快速的学习Lua基本语法吧

    二、Lua变量的定义

    首先我们看下Lua的变量类型.

    nil表示空数据 同等于C#里面的null
    boolean布尔类型,存储true和false  
    string字符串类型,双引号或单引号表示  
    数值(number),以double表示,没有整数类型  
    table表  

    Lua定义变量前面是不需要写类型,变量存储什么决定它是什么类型,变量的命名不能以数字和_开头.

    age = 100
    name1 = "盘子脸"    --创建一个字符串,单行注释
    name2 = '盘子脸'
    isMan = true
    n = nil
    
    print(age)
    print("我的名字:"..name1)    --输出我的名字, ".."这个符号代表拼接两个字符串.
    print("他的名字:"..name2)
    
    --[[
        我是男的,
        这里是多行注释
    ]]--
    print("我的性别:"..isMan)
    print(n)
    
    --就算变量预先存储string类型,然后有存储10进去,C#是要报错的.
    --但是lua是不会报错,name2就变成了number类型
    name2 = 10
    print(name2)
    print(type(name2))        --type(变量),可以查看变量是什么类型
    
    
    --以上代码你看懂了,就掌握Lua基本类型的创建和使用啦

    table类型的使用我单独写了一篇文章: http://www.cnblogs.com/plateFace/p/4762218.html

    三、Lua的运算符

    Lua中有那些运算符呢?我们就了解下常用运算符就可以啦

    算数运算符(+,-,*,/,%) Lua是没有++和--这种运算符的
    关系运算符(<= ,<, > ,>= ,==)  
    逻辑运算符(and, or , not ) 分别表示C#中的 与(&&) 或(||) 非(!)
    num1 = 34
    num2 = 2
    
    res1 = num1+num2
    res2 = num1-num2
    res3 = num1*num2
    res4 = num1/num2
    res5 = num1%num2
    
    --其实print函数一次输出多个变量的值
    print(res1,res2,res3,res4,res5)
    
    res6 = num1 <= num2     --返回false
    res7 = num1 == num2     --返回false
    
    print(res6,res7)
    
    res8 = res6 and res7    --两个都是false,返回false
    res9 = res6 or true        --一个是true,返回true
    res10 = not res6        --res6是false取反就是true
    
    print(res8,res9,res10)

    四、流程控制语句(if elseif else end)

    hp = 100
    if(hp <= 0) then
        print("hp是小于100的")
    elseif(hp >= 50) then
        print("hp是大于50的")
    else
        print("hp是0和50之间的")
    end

    五、循环结构循环(while,repeat)

    --使用while, 输出1-50的数字,50之后结束循环。
    --Lua没有continue,只有break结束循环
    index = 1
    while index<=100 do
        if(index == 50) then
            break
        end
    
        print(index)
        index = index +1
    end

    使用repeat循环

    --使用repeat,先进入循环一次在判断是否继续循环
    index = 1
    repeat
        print(index)
        index++
    
    until index > 5

    使用for循环

    --使用for循环,index每次循环之后自动+1,index到10之后结束循环
    for index=1,10 do
        print(index)
    end

    六、函数定义

    --定义函数的结构
    function 方法名(参数1,参数2,参数3,...)
        --代码块
    end
    
    
    --定义一个函数接受两个数字,返回他们的和
    function Plus(num1,num2)
        return num1+num2
    end
    
    
    --函数是可以返回多个值
    function Plus2(num1,num2)
        return num1+num2,num1-num2
    end
    
    
    --一次性接受到他们的和,他们的差
    n1,n2 = Plus2(5,5)
    print(n1,n2)
    如果你感兴趣,你可以把你妹妹介绍给我
  • 相关阅读:
    Visual C#创建和使用ActiveX组件
    ASP.NET2.0 缓存(Cache)技术介绍
    轻松配置Win 2003自带Mail服务器
    如何打印IFRAME中的内容
    FAT32转NTFS、NTFS无损转FAT32
    使用设计模式构建通用数据库访问类
    笑到肚子痛
    夫妻的简单生活
    哈工大学子的一首强诗&哈工大才女的绝顶回诗
    相爱时要做的20件事
  • 原文地址:https://www.cnblogs.com/plateFace/p/4784193.html
Copyright © 2011-2022 走看看