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中的常用语句 ...
随机推荐
- Elasticsearch 安装操作手册
第一部分 ES安装环境的准备和初始化 现在交心的版本Elasticsearch 5.6.3 官方建议安装Oracle的JDK8,安装前先检查机器是否已安装JDK. Step 1 检查环境机器是否已安装 ...
- C# Math的说有函数 以及说明
Math.Abs(x) x绝对值 Math.Acos(x) ...
- iOS pthread
pthread 是属于 POSIX 多线程开发框架 创建线程的方法:pthread_create 参数含义: 1.指向线程代号的指针 2.线程的属性 3.指向函数的指针 4.传递给该函数的参数 返 ...
- 为什么不使用github的wiki而是使用mkdocs做文档管理?
为什么不使用github的wiki而是使用mkdocs做文档管理? 目前 KSFramework 是使用mkdocs来做在线文档 而非使用github的wiki,这是为什么呢? 在windows下搭建 ...
- Extjs 在Grid单元中格添加Tooltip提示
Grid 中的单元格添加Tooltip 的效果 Ext.QuickTips.init(); //必须要… columns: [ { text: 'Name', dataIndex: 'name' }, ...
- Linux VMware新添加网络适配器找不到配置文件问题
VMware centos 新添加网卡没有识别,在做 Linux 实验时经常遇到需要双网卡的情况,VMware 新添加网卡后Linux是不会主动创建 ifcfg-eth* 文件的,重启服务器和重启网络 ...
- ERROR in static/js/0.5d7325513eec31f1e291.js from UglifyJs
今天把vue项目打包是遇到这个问题.这是在服务器上打包时报的错误,本地打包不报错!很头疼!上网查了很多,发现有很多人和我遇到类似的问题,但是都没有解决我的问题!后来灵机一动,解决问题,这就跟大家说一下 ...
- linux 基础(一)
最近公司涉及到自动化部署的问题,本人见识了后端使用linux命令niu的飞起,一直听说linux,今天开始研究研究linux 首先是下载: 1.要先安装虚拟机2.再安装Ubuntu虚拟机 需要下载Ub ...
- 第1章 初始Docker容器
1.1 什么是Docker slogan:Build Ship Run Any App Anywher.关键在于Ship,通过把程序和程序运行所需要的环境一起交付. Linux容器技术: Docker ...
- Kali Linux Netcat 学习 与 网络攻击
Netcat 网络攻击 以及 应用 1.用Netcat进行黑客攻击第1部分:基础知识 Netcat是一个很好的网络实用程序,用于使用TCP和UPD协议读取和写入网络连接.Netcat通常被称为网络工具 ...