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


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

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

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


  • 1

    • String Operation —— 字符串操作
  • 2
    • Table —— 表
  • 3
    • Table Operation —— 表的相关操作
  • 4
    • Class —— 类
  • 5
    • Math —— 数学函数
  • 支持
    • May Be —— 搞开发,总有一天要做的事!

1

String Operation —— 字符串操作

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

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 中表 { } 的创建方式和赋值

-- 第一种表创建的方式
-- 表的声明,声明一个空表
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) doprint(MyTable[i])
end
-- 遍历表,同时访问键值。可以用作遍历所有表,不是数字同样可以输出键值
MyTable={name='chinar',high=175,isFemale=false}
for i,v in pairs(MyTable) doprint(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 中自带了表 { } 的一些常用操作函数

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])--当前第二个元素为66MyTable={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 中类的创建 和 函数的创建

-- 类的声明
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 中自带了一些数学函数,方便开发者使用

-- 定义一个函数: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

支持

May Be —— 搞开发,总有一天要做的事!

拥有自己的服务器,无需再找攻略!

Chinar 提供一站式教程,闭眼式创建!

为新手节省宝贵时间,避免采坑!

先点击领取 —— 阿里全产品优惠卷 (享受最低优惠)

1 —— 云服务器超全购买流程 (新手必备!)

2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

3—— Windows 服务器配置、运行、建站一条龙 !

4 —— Linux 服务器配置、运行、建站一条龙 !



技术交流群:806091680 ! Chinar 欢迎你的加入


END

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

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

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

转载于:https://www.cnblogs.com/chinarbolg/p/9601479.html

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

  1. 带你了解FPGA(5)--Verilog书写规范

    Verilog书写规范 1. 命名规则 2. 代码格式 3. 关于时钟的设计要点 4. 如何优化代码 1. 命名规则 ① 命名中只能包含字母.数字.下划线 ② 命名的第一个字符必须是字母 ③ 在一个模 ...

  2. HTML文件的书写规范、HTML标签的介绍、HTML标签的语法

    HTML文件的书写规范 可以在浏览器页面右击查看源码 <!DOCTYPE html><!--约束或声明--> <html lang="zh_CN"&g ...

  3. css 样式尾部带感叹号是什么意思_CSS书写规范

    推荐大家看看百度FEX前端团队和腾讯AlloyTeam前端团队的CSS代码规范. fex-team/styleguide​github.com Code Guide by @AlloyTeam​all ...

  4. 【python】Python基础语法及规范

    一.基础常识 1.软件 狭义:实现某个功能的代码指令集合 广义:包括三要素,程序.数据和文档的集合 2.人机交互方式 图形用户界面:win10.qq.微信等,这种方式简单直观,使用者易于接受,容易上手 ...

  5. 技术支持程序员程序书写规范

    技术支持程序员程序书写规范 编制:李群巍 日期:2002-5-15 一.导言 BSHIS的软件客户化工作是一个庞大的系统工程.客户化工作的好坏,软件质量的好坏直接影响着工程实施和工程进度.为了保证技术 ...

  6. js编码书写规范(自学习用)

    本人平时在书写代码的过程中比较随意,为了能够更优雅的书写代码,整理下列规则 1 编码风格 1.1 缩进 1.1.1[强制]使用 2 个空格缩进. 统一使用 2 个空格缩进,不要使用 4 个空格或 ta ...

  7. WEB前端代码书写规范

    WEB前端代码书写规范 1. 命名规范 a.ClassName命名 ClassName的命名应该尽量精短.明确,必须以单页面字母开头命名,且全部字母为小写,单词之间统一使用下划线 "_&qu ...

  8. day01 js三种导入html的方法、js书写规范、变量的基本使用、变量提升

    昨天是初学js的第一天,为什么今天才写,我觉得这样可以帮助我复习昨天的知识,加深对js的理解. 我之前学过java的,昨天转入js的学习,对js略有些体会和大家分享下,js刚入门感觉js相对于java ...

  9. SQLServer书写规范梳理

    今天给大家分享SQLServer书写规范笔记,希望对大家能有所帮助! 1.在名称中仅使用字母.数字和下划线 要在名称中仅使用字母.数字和下划线,主要是因为这些字符可以被方便的移植到编程语言中.在应用程 ...

最新文章

  1. 一大波物联网僵尸正在袭来,都有啥安全保护方法?
  2. linux怎么获取当前路径,linux 下获取当前工作路径的实例
  3. new ext.toolbar控制按钮间距_按钮规范系列 - 「按钮尺寸」的设计详解
  4. c语言编辑密码程序,想程序高手求助--用C语言来编辑一个输入密码的程序
  5. python直接用解释器编写和编辑器的区别_Python语言编译器与解释器
  6. 字符串String的trim()方法
  7. MAX31855 热电偶至数字输出转换器
  8. 26岁零基础转行学习前端可以找到工作吗?
  9. leetcode-Easy-第1期:two sum
  10. 强大的DataGrid组件[12]_分组(Group)——Silverlight学习笔记[20]
  11. 容器技术Docker K8s 51 容器镜像服务(ACR)详解-进阶
  12. Python简单游戏代码
  13. [软件应用]常用软件名录
  14. 819 c语言程序设计,大连海洋大学2021年考研819高级语言程序设计(C语言)考试大纲...
  15. Axure8注册码,亲测可用
  16. CAPM模型应用策略
  17. python中tuple的意思_pythontuple什么意思
  18. Win10屏幕不自动关闭怎么设置
  19. php怎么自动识别车牌号,你知道车牌识别系统是如何自动识别车牌的吗?
  20. Electron在win7上加载plotyjs失败的解决方法

热门文章

  1. 在图像变换中用最小二乘法求解仿射变换参数
  2. matlab常遇小问题汇总
  3. 【Live555】live555源码详解(九):ServerMediaSession、ServerMediaSubsession、live555MediaServer
  4. 行上下移动_这有一台你迟早要用到的“移动空调”
  5. python如何处理异常_python如何进行异常处理
  6. Java项目:在线考试系统(java+springboot+vue+jsp+mysql+maven)
  7. Java项目:前后端分离网上手机商城平台系统设计和实现(java+vue+redis+springboot+mysql+ssm)
  8. NLP学习 资料总结
  9. Wireshark实验 - 入门
  10. Fastlane- app自动编译、打包多个版本、上传到app store