• 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脚本,lua游戏脚本语言等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

什么是Lua

  Lua 是一个小巧的脚本语言。是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发。 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的GIT项目,提供在特定平台上的即时编译功能。

  Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

Lua里的注释

单行注释

使用两个减号表示注释的开始,一直延续到行末位置。相当于C语言中的"//"。
--这里是一行注释
print("Hello Lanou")
</div>

多行注释

使用"--[["表示注释开始,使用"]]"表示注释结束。这种注释相当于C语言中的"/*"和"*/"。

--[[这里是第一行注释
这里是第二行注释]]
pring("Hello Lanou")
</div>

Lua里的变量

在默认情况下,Lua里认为所有的变量都是全局变量。假如需要定义局部变量,则在声明变量时需要使用local说明。

并且在赋值的时候,允许同时给多个变量进行赋值。

-- i是一个局部变量
local i = 1
 
-- name是一个全局变量
name = "Lewis"
 
-- age,height都是局部变量
local age,height = 34,183.5
 
-- gender,company都是全局变量
gender,company = "男","蓝鸥"
</div>

Lua里的运算符

算数运算符
-- +(加法)
print(1 + 2)
 
-- -(减法)
print(1 - 2)
 
-- *(乘法)
print(1 * 2)
 
-- /(除法)
print(1 / 2)
 
-- ^(乘方)
print(1 ^ 2)
</div>

比较运算符

-- <(小于)
print(1 < 2)
 
-- >(大于)
print(1 > 2)
 
-- <=(小于等于)
print(1 <= 2)
 
-- >=(大于等于)
print(1 / 2)
 
-- ==(等于等于)
print(1 == 2)
 
-- ~=(不等于)
print(1 ~= 2)
</div>

逻辑运算符

在使用逻辑运算符时与C语言差别很大。

在Lua语言里,只有false和nil才为false,其他任何数据都是true,0也是true!!!

and 和 or 的运算结果不是true和false,而是和他的两个操作数相关。

a and b:如果a为false,则返回a;否则,返回b;

a or   b:如果a为true,则返回a;否则,返回b;

-- and(与)
print(1 and 2)
 
-- or(或)
print(1 or 2)
 
-- not(非)
print(1 not 2)
</div>

通过Lua里的这种特性,可以模拟C语言中的 ?:运算符

例如:C语言中的 x=a?b : c,在Lua中,可以写成 x = a and b or c。

Lua里的数据类型

关键字 描述
nil 空值,所有没有使用过的变量都是nil;nil既是值,又是数据类型
boolean 布尔类型,只有两个有效的值:true和false
number 数值类型,在Lua里,相当于C语言里的double
string 字符串,如果愿意的话,字符串是可以包含"\0"字符的
table 关系类型,这个类型的功能比较强大
function 函数类型,可以由函数类型来声明变量
userdata 这个类型专门与Lua的宿主打交道。宿主通常是由c语言和c++语言开发的,在这种情况下,userdata可以是宿主的任何类型,常用的是结构体和指针类型
thread 线程类型,在Lua里没有真正的线程。

Lua里的代码块

在C语言中代码块是有"{"和"}"括起来的,在Lua中,使用do和end关键字括起来的。

do
print("Hello")
end
</div>

Lua里的关系类型

关系类型,是一个非常强大的类型。这个类型类似于C++语言里的映射结构,类似于PHP语言里的array对象,类似于OC里的NSDictionary对象。

在Lua里的关系类型(Table)定义很简单,它主要特征是使用"{"和"}"来括起来一系列的元素。

--声明一个关系类型的全局变量table
table = {}
 
--赋值关系变量table索引为0时的值是34
table[0] = 34
 
--同时也可以写成 table.name = "Lewis"
table["name"] = "Lewis"
table.gender = "男"
 
--同样也可以将索引为"son"的对象写成另外一个表格
table["son"] = {name = "DD",gender = "男"}
 
--访问对象时就可以使用
print(table.son.name)
</div>

同样也可以如下声明

-- 声明关系变量table
table = {
    10,--相当于[1] = 10
    [100] = 40,
 
 
    lewis = { -- 同样也可以写成 ["lewis"] =
        age = 34, -- 同样可以写成 ["age"] = 34
        gender = "male",
    },
 
    20, --相当于[2] = 20
}
 
print(table[2])
</div>

Lua里的函数

在Lua中,函数的定义非常简单。不过要注意的一点就是,return语句一定要写在end之前。假如我们非要在函数中加一个return

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

  • Lua脚本语言基本语法快速入门教程
  • Lua教程(二):语法约定
  • Lua教程(一):Lua脚本语言介绍
  • lua脚本语言快速入门教程
  • Lua脚本语言入门笔记
  • Lua中的协同程序详解
  • Lua中字符串(string)浅析
  • Lua中ipair和pair的区别

相关文章

  • Lua所有内置函数罗列
  • Lua内置的调试器用法详解
  • Lua极简入门指南(一):基础知识篇
  • Lua性能优化技巧(二):基本事实
  • Lua中关系运算符的使用教程
  • Lua中获取utf8字符串长度的方法和自定义函数
  • Lua学习笔记之运算符和表达式
  • Lua编程示例(五): C语言对Lua表的读取和添加
  • Lua在各个操作系统中的开发环境配置教程
  • Lua与C语言间的交互实例

文章分类

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

最近更新的内容

    • Lua多重继承代码实例
    • Lua中遍历数组和table的4种方法
    • Lua极简入门指南(六):模块
    • 详解Lua中repeat...until循环语句的使用方法
    • lua中使用毫秒精度时间的方法
    • 在Mac OS中安装Lua的教程
    • 深入探究Lua中的解析表达式
    • Lua教程(十七):C API简介
    • Lua中的迭代器和泛型for实例
    • Lua中类的实现原理探讨(Lua中实现类的方法)

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

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