• lua语言初探


    写在最前面

    《cocos2d-x lua核心编程》是我首次购买电子书,坑的就不谈了,书里的代码部分基本上不是少空格就是多换行,让阅读变得十分困难。

    所以又购买了实体书,加上看一些大佬视频和博客,这才慢慢步入正轨,当然我的lua水平不高,仅作为游戏开发的工具,写这一系列的博客,希望能够让又同样想法的朋友少走弯路。

    简介安装什么就不说了。

    Lua的代码规范

      - Lua的多条语句之间并不要求任何分隔符,如C语言的 ";",换行符也同样不能起到语句的分割作用。

    a =1 
    b= 2*a
    a=1 b=2*a

      - 通过dofile()方法引用其他Lua文件中的函数.

    dofile(D:/test.py)

      -变量命名规范:

        由数字字母下划线构成,但是不能数字和下划线开头

      - lua的注释

        单行注释:

    -- 这是注释

        多行注释:

    --[
    这是注释
    ]--

    lua的基本数据类型

    lua是一种动态类型的语言,其语言本身没有提供类型定义的语法,每个值都携带了它自身的类型信息。在lua中有8中基础类型,分别为

    nil,boolean,number,string,userdata,function,thread和table。变量的类型信息可以通过type函数获得。

    nil:

      nil就是空,它只有一个值nil,它的主要功能是由于区别其他任何值。一个全局变量在第一次赋值前的默认值就是nil。

    boolean:

    布尔类型,包括两个值,true和false,在lua中只有当值是false和nil时才为假,其他时候都为真。

    number:

    数字,用于表示实数。

    string:

    lua中的字符串代表的是一个字符序列,修改字符串得到的是新的字符串。

    table:

    lua中table类型视为关联数组,就像c++中的map,差别是lua中的table的键是可以为除nil外的任何类型,没有长度限制,可任意添加。

    function:

    在lua中,函数可以存储在变量中,可以通过参数传递其他函数,还可以作为函数的返回值。

    userdata:

    lua的自定义类型。

    表达式

    1,算术操作符

      lua的算术操作符为常规的,有+,-,*,/,%()取模等。

    2,关系操作符

      >=,<=,==,~=

    3,table构造器

      构造器用于构建和初始化table,构建空构造器。

    days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}
    for i = 1,#days do
        print(days[i])
    end
    --输出结果为
    --Sunday
    --Monday
    --Tuesday
    --Wednesday
    --Thursday
    --Friday
    --Saturday

    语句

    1,赋值语句

      lua中赋值语句和python基本相同,支持解构赋值。

    2,局部变量与块

      局部变量通过local i = n 进行定义。

    1 while i <= x do
    2     local x = i * 2
    3     print(x)
    4     i = i + 1
    5 end

    3,控制语句

      - if ...then...else

        if a < 0 then 
            b = 0
        else
            b = 1
        end

      - if ...elseif...then...else

        if a < 0 then 
            b = 0
        elseif a == 0 then
            b = 1
        else
            b = 2
        end

      - while ..do..

        local i= 1
        while a[i] do
            print(a[i])
            i = i + 1
        end

      - repeat...until,相当于 do while

      - for,在lua中,分为泛型for循环和数字型for循环,数字型for循环相当与python中的 for i in range (1,3,1),泛型for循环就是遍历数组或者table等。

        for var = begin, end, step do --如果没有step变量,begin的缺省步长为1。
            i = i + 1
        end

    函数

    1,lua中的函数接收不同长度的参数,在函数定义的()协商。。。

    2,在lua中,函数和其他所有值一样都是匿名,即它们都没有名称。在使用时都是操作该函数的变量 ,操作时都是操作持有该函数的变量。

    function foo(x)
        for i in var=1,100 do
            i=i+1
        end
    end
  • 相关阅读:
    [LeetCode]24. Search Insert Position插入位置
    [LeetCode]23. Set Matrix Zeroes矩阵清零
    [LeetCode]22. 3Sum Closest最近三者之和
    [LeetCode]21. 3Sum三者之和
    [LeetCode]20. Unique Paths II唯一路径
    [LeetCode]19. Unique Paths唯一路径
    [LeetCode]18. Contains Duplicate II重复检测
    [LeetCode]17. Majority Element主元素
    第13章建造者模式
    第15章抽象工厂模式
  • 原文地址:https://www.cnblogs.com/cuiyuanzhang/p/9475596.html
Copyright © 2020-2023  润新知