zoukankan      html  css  js  c++  java
  • lua学习

    在lua中,一切都是变量,除了关键字。

    1、注释:

    单行注释: 连续两个减号“--”表示注释的开始,一直延续到行末。相当于C语言中的“//”

    多行注释:由“--[[”表示注释开始, “]]”表示注释结束。类似于C语言中的“/*..........*/”

    2、编程

    在lua中,语句之间可以用分号“;”, 也可以用空白隔开。 如果多个语句在同一行中时,建议使用分号隔开。

    lua有好几种程序控制语句:

    条件控制:

    if 条件

    then … elseif 条件

    then … else … end

    while循环

    while 条件

    do ....   end

    repeat循环

    repeat .... until 条件

    For循环:

    for 变量 = 初值,终点值,步进 do … end 
    For循环:

    for 变量1,变量2,… ,变量N in表或枚举函数 do … end  


    注意一下,for的循环变量总是只作用于for的局部变量,你也可以省略步进值,这时候,for循环会使用1作为步进值。

     

    语句块:

    使用 do和end进行。相当于C语言中的"{ }".

    赋值语句:

    在lua中被强化了,可以同时给多个变量赋值。

    a,b,c,d=1,2,3,4

    默认情况下,变量总是全局的。要使用局部变量,在第一次赋值的时候,需要用"local"说明。

    local a,b,c=1,2,3  全是局部变量

     

    数值运算:

    支持+、—、*、/运算,还支持"^",表示指数乘方运算,例如2^3=8

    连接两个字符串,可以使用“..”运算符。

     

     

    关键字:

    and break do else elseif end false for function if in local nil not or 

    repeat return then true until while 

     

    变量类型:

    怎样确定一个变量类型呢?可以使用type()函数来检查。

    lua支持的类型有以下几个:

    Nil:空值,所有没有使用过的变量都是Nil。Nil既是值,又是类型。

    Boolean:布尔值。

    Number: 数值,在lua里,数值相当于C语言的double

    String:字符串,字符串可以包含''字符的。

    Table:关系表类型

    Function:函数类型。

    Userdata:这个类型专门用来和lua的宿主打交道。宿主通常是用C和C++来编写的。在这种情况下,Userdata可以是宿主的任意数据类型。常用的有struct和指针。

    Thread:线程类型,在lua中么有真正的线程。lua中可以将一个函数分成几部分运行。

     

    逻辑运算符

    逻辑运算符认为falsenil是假(false),其他为真,0也是true

    andor的运算结果不是truefalse,而是和它的两个操作数相关

    a and b       -- 如果afalse,则返回a,否则返回b

    a or  b        -- 如果atrue,则返回a,否则返回b

     

    Metatables and Metamethods

    元表与元方法,这是一个很重要的概念。可以为table设置或指定metatable,用于指定某些运算符对应的操作方法。

    * setmetatable(table, meta_table)      设置元表
    * getmetatable(table)                       获取元表

    这个元素,可以是个函数。

    tb = {
        ----> <metatable> = {
                  __add = function : xxx   加法操作
                  __sub = function : xxx   减法操作
                  __mul = function : xxx   乘法操作
                  ...
              }
    
        [1] = 20
        [2] = 40
        ...
    }


    unpack
    unpack它接受一个数组(table)作为参数,并默认从下标1开始返回数组的所有元素


    赋值语句
    当变量个数和值的个数不一致时,Lua会一直以变量个数为基础做一下策略
    变量个数 > 值的个数  按变量个数补足nil
    变量个数 < 值的个数  多余的值会被忽略

     

     

  • 相关阅读:
    VMware workstation安装linux(ubuntu)配置详解
    虚拟机的三种网络模式
    虚拟机(VMware Workstation)的使用方法
    零基础学习hadoop到上手工作线路指导(初级篇)
    Hadoop到底能做什么?怎么用hadoop?
    什么是云计算技术
    什么是云计算
    静态数据库迁移
    apache-mysql-php安装与配置
    CentOS6.6下的authpuppy源码安装与配置完全纯净版,内有问题解答
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/4863187.html
Copyright © 2011-2022 走看看