Lua 语法数据类型与变量|学习笔记

简介: 快速学习 Lua 语法数据类型与变量

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段Lua 语法数据类型与变量】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/669/detail/11598


Lua 语法—数据类型与变量

 

内容介绍

一、Lua 数据类型

二、 Lua 的变量  

三、在知识点总结

 

一、Lua 数据类型

(1)数据基本类型

Lua 中有八个基本类型:

nil  booleam  number  string  userdata  function  thread 和 table

数据类型

描述

nil

这个最简单,只有nil属于该类型,表示无效的(在条件表达式中相当于false)

booleam

包含两个值 false 和 ture

number

表示双精度类型的实浮点数

string

字符串有一对单数引号或双数引号来表示

userdata

由c或lua编写的函数

function

表示任意存储在变量中的 c 数据结构

thread

表示执行的数据线路,表示执行的协同程序

table

Lua 中的表(table)实际上是一个”关联数组”(associative arrays) 数据的索引可以是数字或者字符串,在 lua 里,table 的建立是通过“构建表达式来完成,最简单构建表达式是0,用来创建一个空表

(2)数据类型测试

通过脚本方式,以 hello.lua 脚本为例

输入 text.01.lua 回车

输出运用 print(“hello.lua”)

使用双引号,则数据类型为 string

将 print(“hello.lua”)更改为 Print(type(“hello.lua”)

再次执行 lua 则为 string 输出

多次复制 Print(type(“hello.lua”)

将一个(“hello.lua”)更改单引号(‘hello.lua’)

将一个(“hello.lua”)更改为数值(123)则为 number

将一个(“hello.lua”)更改为(true)则为 booleam

将一个(“hello.lua”)更改为(A)前置变量 a= 由于没有赋值,输出结果无效则为 nil

输出 funcation 前首先定义一个 funcation

编写 funcation fun()

End

Fun 是指定的一个空函数

再将(“hello.lua”)更改为(fun)

将一个(“hello.lua”)更改为({}{}{})则代表table 类型

保存 退出

userdata 和 thread 不常用 在此不做展示

执行 lua 脚本

string

string

number  

booleam

nil

function  

table

得到如下数据类型

将结果进行 cat.

Print(type(“hello.lua”)

print(type(’hello.lua‘)

单双引号为 string

print(type(123)

数值型为 number

print(type(ture)则为 blooleam

A=

print(type(a)为nil

Function fun ()

End

print(type(fun)函数为空函数 类型为 Function

print(type({{{}}})函数中一个大括号或大括号套大括号,类型为 table

 

二、lua 的变量

(1) 变量的类型展示

Lua 的变量有三种类型

除了上述的 a=

再次打开 lua 进行展示

输入变量

A=10 b=20

Print(a,b)

进行输出 lua   得到10  20

再次接收

aa,bb,cc=11,22,

Print(aa,bb,cc)

保存执行 11 22 nil

aa,bb,cc=11,22,一次性可设置多个变量,可赋值为空

没有数据类型,因为数据为自动识别

将 Print(aa,bb,cc)更改为 Print(type(aa),type(bb),type(cc))

保存,并执行

得到 number  number nil

根据数据的返回值变化而变化

(2)Lua 变量定义

lua 变量分为:全局变量、局部变量、表中的域

在 lua 当中默认的变量均为全局变量,如:aa,bb,cc

用 local 显式声明为局部变量,如:

local a=10执行结果相同 10

局部变量的作用域为从声明位置开始到所在语句块结束

如:

Function fun ()

End

到 end 结束域

表中的域不常用

 

三、知识点总结

1. 数据类型(8种)

Nil:表示空值

Number:数值类型

String:字符串,用单引号或者双引号表示

Boolean:表示的是 ture 或者 false

Function:函数类型

Table:表的结构相当于之前学的 map 类型

2变量

全局变量:所有变量都为全局变量,除非用 local 声明的变量

局部变量:用 local 声明的变量,局部变量的作用域为从声明位置开始到所在语句块结束

比如:

声明在函数里面的局部变量,除了函数便不能再用,

声明在整个脚本的 local 变量,除了脚本便不能再用

表中的域:声明在表中的变量

相关文章
|
6月前
|
消息中间件 Kubernetes NoSQL
Lua基本数据类型
Lua基本数据类型
|
存储 Java C语言
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
lua变量、数据类型、if判断条件和数据结构table以及【lua 函数】
95 0
|
1月前
|
存储 Java C++
lua完整学习笔记
Lua学习笔记,涵盖了Lua的注释、数据结构、标识符、保留字、变量、运算符、函数、流程控制语句、循环语句、table的使用、迭代器以及模块化等基础知识点。
44 3
lua完整学习笔记
|
3月前
|
Java API C语言
Lua语法(一)
Lua语法(一)
40 0
Lua语法(一)
|
3月前
Lua语法(六)——面相对象编程
Lua语法(六)——面相对象编程
33 0
|
3月前
|
Java
Lua语法(五)——垃圾回收
Lua语法(五)——垃圾回收
87 0
|
3月前
Lua语法(四)——协程
Lua语法(四)——协程
42 0
|
3月前
|
索引
Lua语法(三)——元表与元方法
Lua语法(三)——元表与元方法
41 0
|
3月前
|
缓存
Lua语法(二)——闭包/日期和时间
Lua语法(二)——闭包/日期和时间
77 0
|
5月前
|
存储 缓存 NoSQL
Redis系列学习文章分享---第十三篇(Redis多级缓存--JVM进程缓存+Lua语法)
Redis系列学习文章分享---第十三篇(Redis多级缓存--JVM进程缓存+Lua语法)
82 1