Lua基本语法-书写规范以及自带常用函数

简介: Lua基本语法-书写规范和常用函数本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)...

Lua基本语法-书写规范和常用函数


本文提供全流程,中文翻译。

Chinar坚持将简单的生活方式,带给世人!

(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)




1

String Operation —— 字符串操作


Lua 中自带了一些操作字符串的函数

举个栗子黑白88

name="name is chinar,hello world.CSDN"

-- string.lower —— 字符串转:小写
print(string.lower(name))

-- string.upper —— 字符串转:大写
print(string.upper(name))

-- string.sub —— 字符串提取字符:从name中的第1个到第6个(算上空格)
print(string.sub(name,1,6))

-- string.find —— 字符串查找字符:从name中找字符串 hel,返回下标表示从几到几
print(string.find(name,'hel'))

-- .. —— 字符串拼接
print('fps://'..name)

输出后:

name is chinar,hello world.csdn
NAME IS CHINAR,HELLO WORLD.CSDN
name i
16  18
fps://name is chinar,hello world.CSDN

2

Table —— 表


Lua 中表 { } 的创建方式和赋值

举个栗子黑白88

-- 第一种表创建的方式
-- 表的声明,声明一个空表
MyTable={}
-- 表的赋值
MyTable[1]=33
MyTable[3]='chinar'
-- 表的赋值 下边两种是相同的,都表示键为:name.所以后边的hello world 会覆盖掉 chianr work
MyTable['name']='chianr work'
MyTable.name='hello world'
-- 输出值
print(MyTable[1],MyTable['name'],MyTable.name)

-- 第二种表创建的方式
-- 表声明,并直接赋值完成初始化。如果名字重复,会直接覆盖之前的表
MyTable={name='chinar',high=175,isFemale=false}
-- 输出MyTable中的isFemale为:false
print(MyTable.isFemale)


-- 第三种创建方式
-- 对应的键为下标,这种表由于全部都是数字,所以可以直接用for循环直接遍历
MyTable={66,777,8888,99999,000000,1}
print(MyTable[1])
-- 遍历表,#MyTable可以获取表的长度
for i=1,#(MyTable) do
    print(MyTable[i])
end
-- 遍历表,同时访问键值。可以用作遍历所有表,不是数字同样可以输出键值
MyTable={name='chinar',high=175,isFemale=false}
for i,v in pairs(MyTable) do
    print(i,v)
end

输出后:

33  hello world hello world
false
66
66
777
8888
99999
0
1
name    chinar
isFemale    false
high    175

3

Table Operation —— 表的相关操作


Lua 中自带了表 { } 的一些常用操作函数

举个栗子黑白88

MyTable={'dd',66,777,8888,99999,000000,1}
-- table.concat()合并表中的字符串,值。输出一长串的字符串
print(table.concat(MyTable))

-- table.insert 在表中插入一个元素
table.insert(MyTable,4,"chianr")--相当于MyTable[4]="chianr"
print(MyTable[4])

-- 移除指定位置数据
print(MyTable[1])--当前第二个元素为dd
-- 移除第二个元素
table.remove(MyTable,1)
print(MyTable[1])--当前第二个元素为66

MyTable={66,777,8888,99999,000000,1}
-- table.sort 从小到大排列
table.sort(MyTable)
print(table.concat(MyTable))

-- table.unpack返回一个指定范围的数组
print(table.unpack(MyTable,2,3))

输出后:

dd6677788889999901
chianr
dd
66
0166777888899999
1   66

4

Class —— 类


Lua 中类的创建 和 函数的创建

举个栗子黑白88

-- 类的声明
People={}

-- 创建一个私有变量this来代替People,方便书写
local this=People

-- 类变量
People.hp=100
People.sp=1000

-- 第一种声明方法的操作
People.Fangfa=function( ... )
    print('chinar')
end

-- 第二种声明方法的操作 —— 这种较为常用
function People.Run( ... )
    this.Fangfa()--方法中调用已经声明的方法
    print(this.hp,"Run")
end

-- 调用方法
People.Run()

输出后:

chinar
100 Run

5

Math —— 数学函数


Lua 中自带了一些数学函数,方便开发者使用

举个栗子黑白88

-- 定义一个函数:Chinar 
-- 返回值为:参数a1+a2
function Chinar(a1,a2)
    return a1+a2
end

-- 定义变量fun接收函数Chianr的返回值
fun=Chinar(66,88)

-- 输出
print(fun)

-- 求绝对值
print(math.abs(-66))

-- 求最大数
print(math.max(1,4,555,3,66,999))

-- 求随机数,需要多些几个才会有不同的值
print(math.random())
print(math.random())

-- 求平方根
print(math.sqrt(9))

-- 其余的几乎都是求三角函数的夹角
print(math.sin(60))
print(math.cos(60))
print(math.tan(60))

输出后:

154
66
999
0.001251220703125
0.56356811523438
3.0
-0.30481062110222
-0.95241298041516
0.32004038937956


70

Chinar


END

本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

相关文章
|
6天前
|
存储 C语言 图形学
C 函数中如何保存 Lua 的数据(1)
C 函数中如何保存 Lua 的数据(1)
40 0
|
6月前
|
存储 Java C语言
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
50 0
Lua 基本语法
Lua语言保留关键词包括and、break、do等,下划线开头的大写变量如&_VERSION为内部使用。默认变量为全局,无需声明,赋值后创建,未初始化值为nil。删除全局变量通过赋值为nil实现,变量等于nil时视为不存在。
Lua 基本语法
Lua语言的关键字包括and, break, do, else等,下划线开头的大写变量如&_VERSION是内部使用的。全局变量默认自动创建,无需声明,赋值后即存在,如`b=10`。访问未初始化的全局变量返回nil。删除全局变量通过赋值为nil,如`b=nil`,之后变量b被视为不存在。
Lua 函数
Lua函数是主要的抽象机制,用于执行任务或计算值。函数定义格式包括可选的函数作用域(默认全局)、函数名、参数列表和函数体。例如,定义一个名为`max`的函数,接收两个参数`num1`和`num2`,返回它们中的最大值。函数可以作为参数传递,如示例中将`myprint`函数传递给`add`函数,实现功能组合。
|
6天前
|
C语言
Lua 函数
Lua中的函数支持可变参数,以三点(...)表示。函数既可完成任务,也可用于计算并返回值。例如,`add(...)`函数接受任意数量参数并返回它们的和。要处理可变参数,可以将其赋值给一个表,如`arg={...}`。计算平均值的`average(...)`函数展示了如何遍历和使用这些参数。通过`select("#",...)`可以获取参数数量,`select(n, ...)`则用于访问特定位置的参数。函数定义如`function fwrite(fmt, ...)`允许固定参数与可变参数结合使用。
|
6天前
|
C语言
Lua 函数
Lua中的函数支持可变参数,用三点`...`表示。函数可以用于执行任务或返回计算值。示例中展示了如何处理可变参数,如计算参数总和(`add`函数)和平均值(`average`函数)。`select("#",...)`用于获取参数数量,`select(n, ...)`用于获取从n开始的参数列表。`average`函数在不同实例中展示了使用可变参数的方式,始终返回参数的平均值。`fwrite`函数展示了固定参数与可变参数的组合使用。
Lua 基本语法
Lua语言的关键字包括and, break, do, else等,下划线开头的大写变量如&_VERSION是内部使用的。全局变量默认无需声明,赋值后自动创建,如`b=10`。访问未初始化的全局变量返回nil。删除全局变量通过赋值为nil,如`b=nil`,之后b不存在。
Lua 基本语法
`Lua`中,-- 开始是单行注释,[[...]]包裹的是多行注释。标示符以字母或_开头,跟零或多字母、_、数字。避免_大写字母组合,因它们可能是保留字。Lua区分大小写,如`mohd`, `zara`, `move_name`, `_temp`都是合法标示符。
|
6天前
|
存储
Lua 基本语法
Lua 是一种脚本语言,程序可保存在 `.lua` 文件中执行。例如,`hello.lua` 包含 `print` 语句打印 "Hello World!" 和 "www.baidu.com"。通过 `lua hello.lua` 运行脚本。此外,可使用shebang (`#!/usr/local/bin/lua`) 指定 Lua 解释器,赋予脚本执行权限后,直接运行 `./hello.lua`。