献给Lua小白的Lua基础入门

本文是为Lua新手准备的基础入门教程,涵盖了Lua的起源、特性、安装,详细讲解了语法如注释、变量、运算符、数据类型、逻辑控制结构以及函数。此外,还介绍了Lua的面向对象编程概念,包括模块、元表和元方法。通过实例,帮助读者掌握Lua编程基础。
摘要由CSDN通过智能技术生成

lua的起源

lua是Roberto Ierusalimschy、Luiz Henrique de Figueiredo 和 Waldemar Celes在1993年创建的一门轻量的可嵌入的快速的脚本语言,其功能非常强大,是以C语言编写的开源语言。lua本身的目的是为嵌入应用程序为应用程序提供灵活的扩展和定制功能。

Lua特性

  • 脚本语言------解释型语言
  • 嵌入程序开发
  • 易与其他语言相互调用
  • 轻量
  • 面向过程
  • 函数式编程
  • 热更新

安装Lua

下载地址:http://luabinaries.sourceforge.net/download.html
推荐的编写工具:sublime、VSCode、babelua等等
安装完成后不要忘记配置环境变量
在系统环境变量中的Path中加入在这里插入图片描述
要把路径换成你自己lua所安装的路径。
执行lua脚本方法:打开CMD,进入lua脚本所在文件夹,使用命令:lua xxxxx.lua即可运行脚本。

lua语法

一、注释

单行注释:–注释内容
多行注释:–[[ 注释内容 ]]

二、变量声明

Lua 变量有三种类型:全局变量、局部变量、表中的域。
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。
局部变量的作用域为从声明位置开始到所在语句块结束。
变量的默认值均为 nil(即相当于C#等语言中的null)。
例:全局变量声明

  • 单变量:name = “xiaowang”
  • 多变量:name,age = “xiaowang”,18
    局部变量声明
  • 单变量:local age = 23
  • 多变量:local name,age = “xiaowang”,20
注:声明变量时,不需要指定数据类型;语句结束也不需要分号;

三、运算符

1.算数运算符:加(+)、减(-)、乘(*)、除(/)、幂(^)、取余(%)(不多说)
2.比较运算符:⼩于(<)、⼤于(>)、⼩于等于(<=)、⼤于等于(>=)、等于等于(==)、不等于(~=)(不多说)
3.逻辑运算符

  • 与(and)、或(or)、⾮(not)
  • 注意逻辑运算结果:
  • a and b - - 如果a为false,则返回a,否则返回b
    a or b - - 如果a为true,则返回a,否则返回b
    not a - -如果a为true,则返回false,否则返回true
注:逻辑运算中只有nil和false视为假,其它都为真,0也为真

4.连接运算符:…两个点
例:print("hello " … “world”) ------》 hello world

四、数据类型

  • nil:表示空值,所有没有使⽤过的变量都是nil;nil既是值,⼜是数据类型
  • boolean:布尔类型,只有两个有效的值:true和false
  • number:数值类型,在Lua⾥,相当于C语⾔⾥的double
  • string:字符串,如果愿意的话,字符串是可以包含"\0"字符的
  • table:关系类型,这个类型的功能⽐较强⼤
  • function:函数类型,可以由函数类型来声明变量

五、关系类型详解

  • table =
Lua 教程 lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。 设计目的 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua 特性 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。 其它特性: 支持面向过程(procedure-oriented)编程和函数式编程(functional programming); 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象; 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持; 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。 Lua 应用场景 游戏开发 独立应用脚本 Web 应用脚本 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench 安全系统,如入侵检测系统
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值