Lua语法基础(二)

952 词
  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

  1. 运算符
    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 连接运算
  连接符 .. (前后加空格)
  如果值为数字则将其转换为字符串

  1. 基本数据类型
    3.1 string 字符串

  (1)单引号双引号
  (2)多行字符串[[ 多行文字 ]]
  (3)字符串不可以用+号拼接,使用 ..进行字符串拼接前后加空格
  (4)可以自动转换数字和字符串: “10”+1/“10+1”/“10”+”1”
  (5)”100” == 100 为false可以使用tonumber/tostring相互转换数据类型
  (6)字符串长度计算使用 #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=”123”,b=”456”,d=”789”}–>取值方式table.key
  当key-value和单个标识符混合储存时,单个标识符有索引,key-value无索引
  分隔符逗号 , 可以用分号 ; 代替,用来区分不同的元素