• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua教程(二):基础知识、类型与值介绍

Lua教程(二):基础知识、类型与值介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了lua基础教程,lua零基础入门教程,lua零基础教程,lua教程,cocos2dx lua教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、基础知识:

1. 第一个程序和函数:
    在目前这个学习阶段,运行Lua程序最好的方式就是通过Lua自带的解释器程序,如:
      /> lua
    > print("Hello World")
    Hello World
 </div>
    这样我们就可以以交互性的方式输入lua代码,并立即得到执行结果了。对于代码块较少的测试程序来说,这种方式确实是非常方便的,然而对于相对复杂的程序而言,这种方式就不是很合适了。如果是这样,我们可以将Lua代码保存到一个独立的Lua程序文件中,之后再通过Lua解释器程序以命令行参数的形式执行文件中的Lua代码。如我们将下面的Lua代码保存到test.lua的文件中:

function fact(n)
    if n == 0 then
        return 1
    else
        return n * fact(n - 1)
    end
end
print("Enter a number:")
a = io.read("*number")
print(fact(a))
</div>

/> lua D:/test.lua
    Enter a number:
    4
    24
</div>

2. 代码规范:

    1). Lua的多条语句之间并不要求任何分隔符,如C语言的分号(;),其中换行符也同样不能起到语句分隔的作用。因此下面的写法均是合法的。如:
   a = 1
b = a * 2
   
a = 1;
b = a * 2;
   
a = 1; b = a * 2;
a = 1  b = a * 2
 </div>
    2). 通过dofile()方法引用其他Lua文件中的函数,如:

function fact(n)
    if n == 0 then
        return 1
    else
        return n * fact(n - 1)
    end
end
</div>

将上面的函数保存到test2.lua文件中。
    /> lua
    > dofile("d:/test2.lua")
    > print(fact(4))
    24
</div>
    3). 词法规范。
    和大多数其它语言一样,在声明变量时,变量名可以由任意字母、数字和下划线构成,但是不能以数字开头。在Lua中还有一个特殊的规则,即以下划线(_)开头,后面紧随多个大写字母(_VERSION),这些变量一般被Lua保留并用于特殊用途,因此我们在声明变量时需要尽量避免这样的声明方式,以免给后期的维护带来不必要的麻烦。
    Lua是大小写敏感的,因此对于一些Lua保留关键字的使用要特别小心,如and。但是And和AND则不是Lua的保留字。
    4). Lua中的注释分为两种,一种是单行注释,如:
      --This is a single line comment.
    另外一种是多行注释,如:
    --[[
    This is a multi-lines comment.
    --]]
</div>
    3. 全局变量:
    在Lua中全局变量不需要声明,直接赋值即可。如果直接访问未初始化的全局变量,Lua也不会报错,直接返回nil。如果不想再使用该全局变量,可直接将其置为nil。如:
      /> lua
    > print(b)
    nil
    > b = 10
    > print(b)
    10
    > b = nil
    > print(b)
    nil
    </div>
    4. 解释器程序:
    命令行用法如下:
    lua [options] [lua-script [arguments] ]
    该工具的命令行选项主要有以下3个:
    -e: 可以直接执行命令行中Lua代码,如:lua -e "print(\"Hello World\")"
    -l: 加载该选项后的Lua库文件,如:lua -l mylib -e "x = 10",该命令在执行之前先将mylib中的Lua代码加载到内存中,在后面的命令中就可以直接使用该文件中定义的Lua函数了。
    -i: 在执行完指定的Lua程序文件之后,并不退出解释器程序,而是直接进入该程序的交互模式。   
    在解释器程序的交互模式下,我们可以通过在表达式前加等号(=)标识符的方式直接输出表达式的执行结果。通过该方式,我们可以将该程序用于计算器,如:
     /> lua
    > = 3 + 1 + 4
    8
 </div>
    该小节最后需要介绍的是lua脚本的命令行参数访问规则。如:
      /> lua lua-script.lua a b c
 </div>
    在该脚本的程序入口,lua解释器会将所有命令行参数创建一个名为arg的table。其中脚本名(lua-script.lua)位于table索引的0位置上。它的第一个参数(a)则位于索引1,其它的参数以此类推。这种索引方式和C语言中读取命令行参数的规则相同。但是不同的是,Lua提供了负数索引,用以访问脚本名称之前的命令行参数,如:
      arg[-1] = lua
    arg[0] = lua-script.lua
    arg[1] = a
    arg[2] = b
    arg[3] = c
</div>

二、类型与值:

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

您可能想查找下面的文章:

  • Lua教程(二):基础知识、类型与值介绍
  • Lua脚本语言概述
  • Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记

相关文章

  • lua脚本实现自动生成APK包
  • Lua教程(一):Lua脚本语言介绍
  • Lua教程(三):C语言、C++中调用Lua的Table示例
  • lua中赋值类型代码详解
  • Lua中获取table长度的方法
  • Lua教程(九):元表与元方法详解
  • Lua面向对象之类和继承浅析
  • 详解Lua中的数据类型
  • Lua编程示例(二):面向对象、metatable对表进行扩展
  • Nginx+lua 实现调用.so文件

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua中的操作符和表达式总结
    • 浅析C\C++和Lua的通信方式
    • Lua中使用模块的一些基础知识
    • Lua中类的实现原理探讨(Lua中实现类的方法)
    • Lua教程之弱引用table
    • Lua中的文件I/O操作教程
    • Lua中的loadfile、dofile、loadstring、require用法实例
    • Lua脚本语言简介
    • Lua中的基本数据类型详细介绍
    • lua中赋值类型代码详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有