Lua语法基础(二)
1. 函数
1.1 函数声明
默认为全局
局部函数使用local关键字声明
1.2 参数
- ...等同于Python中*args三个点表示可变参数
1.3 获取参数长度的两种方式
(1)将传入的参数... 直接写入新的table中 使用#table获得长度
(2)直接使用select("#",...)获取长度
1.4 函数定义格式 :
- [local] function function_name(...)
- function_body
- return result1, result,,,,,
- end
2. 运算符
2.1 算术
- +-*/^(加减乘除幂) -负数
2.2 比较
- ==等于 ~=不等于, 大于>,小雨<, 大于等于>=, 小于等于<=
2.3 逻辑运算
- a and b : 如果a为false返回a 否则返回b,and的优先级比or高
- a or b : 如果a为true返回a 否则返回b
- a = a or b 如果a有值则返回a,如果a为nil则赋值为b 等价于条件判断
- not : 非 结果只返回bool
- 三元操作(a and b) or c
2.4 连接运算
连接符 .. (前后加空格)
如果值为数字则将其转换为字符串
3. 基本数据类型
3.1 string 字符串
- ()单引号双引号
- ()多行字符串[[ 多行文字 ]]
- ()字符串不可以用+号拼接,使用 ..进行字符串拼接前后加空格
- ()可以自动转换数字和字符串: ""+/"10+1"/""+""
- ()"" == 为false可以使用tonumber/tostring相互转换数据类型
- ()字符串长度计算使用 #string
3.2 num 数字
- 包括整型
- 浮点型
- 指数型
3.3 转义符号
- \n换行
- \t制表符
- \r回车后面字符不打印
- \转义符
3.4 function 函数
标准库包括string库、table库、I/O库、OS库、算术库、debug库
3.5 boolean 布尔
- true:0和空串
- false:false和nil
3.6 nil 空
- 表示没有赋值,系统会自动删除该变量
3.7 table表
类似于字典结构
- table = {a,b,c} -->取值方式table[1]使用索引取从1开始
- table = {a="",b="",d=""}-->取值方式table.key
- 当key-value和单个标识符混合储存时,单个标识符有索引,key-value无索引
- 分隔符逗号 , 可以用分号 ; 代替,用来区分不同的元素
Lua语法基础(二)的更多相关文章
- Ruby语法基础(二)
Ruby语法基础(二) 继续ruby的学习,这次主要把目光放到运算符,条件判断,循环,方法,以及其他ruby特有的基本概念上 运算符 算术运算符:+,-,/,%,**,值的注意的是,ruby中一切皆为 ...
- R语言语法基础二
R语言语法基础二 重塑数据 增加行和列 # 创建向量 city = c("Tampa","Seattle","Hartford"," ...
- Lua语法基础(1)---简介、基本数据类型、表达式
我觉得我已经陷入了一个坑内.因为,安装了Lua和SublimeText3编辑器之后,怎么使自己编写的lua代码在untiy内运行起来,是个我完全不了解的机制.先放一放吧.首先,来回顾一下Lua的语法基 ...
- Lua语法基础(2)--基本语法、函数
上一篇编辑编辑着,发现,缩进出了问题.作为一个不是强迫症的人,实在是忍受不了同一级内容不同缩进方式的槽点,于是重开一篇吧.(万幸,这样的文章也只有我自己看.) 第四 基本语法 赋值语句,Lua可以对多 ...
- lua语法介绍(二)
一.语法简要 在学习任何语法之前,我们都需要知道该门语言是怎样定义的,是怎样运行的,话说白了,就是到了人家的山头得唱人家山头的歌.下面介绍lua的语法 1.变量的定义 特点: 1.变量在使用前必须声明 ...
- lua语法 - 基础篇
1. 注释 单行注释:--,类似于C++的// 多行注释:--[[ ... ]],类似于C++的/*...*/ 2. 语句 分隔符:分号或者空格,一般多行写一起,建议用分号 语句块:do ... en ...
- Lua语法基础(一)
1. 注释 -- 单行注释 --[[ 多行注释 --]] 2. 运行方式 (1)交互式运行 命令行下 lua进入交互模式 (2)命令行运行 lua + ...
- Lua语法基础(3)--迭代器和泛型for
迭代器和闭包 迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素.在Lua中我们常常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素. 迭代器需要保留上一次成功调用的状态和下一次成功 ...
- Lua脚本之语法基础快速入门
要 1.基本数据类型 2.Lua中的常用语句结构以及函数 3.Lua中的常用语句结构介绍 4.Lua中的库函数 目录[-] 一.基本数据类型 二.Lua中的常用语句结构以及函数 1.Lua中的常用语句 ...
随机推荐
- 07-Vue的基础使用
vue的介绍 前端框架和库的区别 nodejs的简单使用 vue的起步 指令系统 组件的使用 过滤器的使用 watch和computed 钩子函数 渐进式的JavaScript框架 vue react ...
- js实现横向跑马灯效果
首先我们需要一个html代码的框架如下: <div style="position: absolute; top: 0px; left: 168px; width: 100%; mar ...
- c/c++ 多线程 thread_local 类型
多线程 thread_local 类型 thread_local变量是C++ 11新引入的一种存储类型. thread_local关键字修饰的变量具有线程周期(thread duration), 这些 ...
- 苹果ios系统无法通过RD Client连接win10服务器远程错误0x00001307
问题描述: 1.RD Client无法远程Windows 10桌面,提示“错误 用户名或密码错误” 之前连接是没有问题的,但是更新了win10系统以后就出现问题了 [解决方法]: 最后找到了原因是因为 ...
- centos7下 svn的配置
安装svn yum install subversion 查看安装版本 svnserve --version 创建svn版本库目录 mkdir -p /root/svn/test 创建svn版本库 s ...
- c#语法学习
自动属性.隐试类型.命名参数和自动初始化器. note:这里说的这些,是语法糖.按照一定的格式写,部分代码编译器帮我们实现了, 1.自动属性:自动属性是非常有用的语法糖,帮我我们做了两件事:1.自动帮 ...
- Go语言中定时器cron的基本使用
安装:go get github.com/robfig/cron 如果出不去就用gopm 例子: package main import ( "fmt" "github ...
- robot中简单的使用键盘按键,和对象无关
参考链接: https://blog.csdn.net/smallsmallmouse/article/details/78689675 1.在python中的代码 from selenium imp ...
- 解决 tomcat 重启上传文件消失
开发模式 首先开发者模式下,部署在 Tomcat 上没有什么好的办法,否则无法调试 除非使用绝对路径,缺点:不同的操作系统路径不同,自动设置 对于图片上传一般我们使用图片服务器,上传 CDN中 一般获 ...
- ServerSocketChannel、SocketChannel、Selector等概念04
java.nio包中的主要类ServerSocketChannel:ServerSocket的替代类,支持阻塞通信与非阻塞通信.SocketChannel:Socket的替代类,支持阻塞通信与非阻塞通 ...