一、数据类型

1、概述

Lua是动态类型语言,变量没有类型定义,只需要为变量赋值。 而变量的类型则由赋值给它的值决定。值可以存储在变量中,作为参数传递或结果返回

2、类型分类

数据类型

含义

nil

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

boolean

布尔值 包含 true和false

number

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

string

字符串由一对双引号或单引号来表示。用 2 个方括号 "[[]]" 来表示"一块"字符串

function

方法

userdata

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

thread

表示执行的独立线路,用于执行协同程序

table

关联数组

3、如何查看数据类型

3.1、使用命令type

二、类型案例

1、nil(空)

A、nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值

B、对于全局变量和 table,nil 还有一个"删除"作用,给全局变量或者 table 表里的变量赋一个 nil 值,等同于把它们删掉

1.1、例子

执行结果:

2、boolean(布尔)

boolean 类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看作是"假",其他的都为"真"。(0和空字符串也都为真)

2.1、例子

执行结果:

3、number(数字)

Lua 默认只有一种 number 类型 -- double(双精度)类型

3.1、例子

执行结果

4、string(字符串)

字符串由一对双引号或单引号来表示,也可以用 2 个方括号 "[[]]" 来表示"一块"字符串

4.1、例子

执行结果

5、function(函数)

Lua中,函数可以封装好的语句集,也是可以某个变量的值

5.1、例子

执行结果

6、table(关联数组)

table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表

6.1、例子

执行结果

三、常见问题

1、类型转换

1.1、整形与字符串转换

A、整形转换为字符串

使用命令tostring 或者使用连接符..

例子:

B、字符串转换为整形

使用命令tonumber

2、table引用区别

2.1、a.x 和a[x]的区别

a.x是以字符串x的值来索引a,等价于 a['x']

a[x]是以变量x来索引a

2.2、例子

脚本小子_Lua数据类型相关推荐

  1. 脚本小子_Lua模块与包

    一.Lua模块与包 从开发人员的角度来看,一个模块就是一个程序库,具体的引用可以通过require来加载.然后便得到一个变量,表示一个table类型.这个table有点像一个命名空间,其内容就是模块中 ...

  2. 魔兽世界python脚本拍卖行_Python大法之告别脚本小子系列—信息资产收集类脚本编写(上)...

    0×01 前言 在采集到URL之后,要做的就是对目标进行信息资产收集了,收集的越好,你挖到洞也就越多了----当然这一切的前提,就是要有耐心了!!!由于要写工具较多,SO,我会分两部分写-- 0×02 ...

  3. 告别脚本小子系列丨JAVA安全(6)——反序列化利用链(上)

    0x01 前言 我们通常把反序列化漏洞和反序列化利用链分开来看,有反序列化漏洞不一定有反序列化利用链(经常用shiro反序列化工具的人一定遇到过一种场景就是找到了key,但是找不到gadget,这也就 ...

  4. 脚本小子进阶之路(一)用开源武装自己

    脚本小子(Script Kiddie)是一个贬义词,用来描述:以"黑客"自居并沾沾自喜的初学者.他们通常使用别人开发的程序来恶意破坏他人系统,却不一定明白他们的方法与原理.通常只是 ...

  5. 如何从脚本小子变成黑客大神?【网络安全】

    学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇 ...

  6. 盲目自学网络安全只会成为脚本小子?

    前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1.Web 安全相关概念(2 周) 2.熟悉渗透相关工具(3 周) 3.渗透实战操作(5 周) 4.关注安全圈动态(1 周) 5.熟悉 ...

  7. 初探脚本小子--快速上手自写信息收集脚本

    原文地址:初探脚本小子_白帽子技术/思路_i春秋社区-分享你的技术,为安全加点温度. - Powered by Discuz! (ichunqiu.com) 最近在学习写脚本,这里作者分析几个信息收集 ...

  8. 如何自学网络安全 才不会成为脚本小子?

    前言:我们来看看怎么学才不会成为脚本小子 目录: 一,怎么入门? 1.Web 安全相关概念(2 周) 了解网络安全相关法律法规 熟悉基本概念(SQL 注入.上传.XSS.CSRF.一句话木马等). 通 ...

  9. 告别脚本小子系列丨JAVA安全(7)——反序列化利用链(中)

    0x01 前言 距离上一次更新JAVA安全的系列文章已经过去一段时间了,在上一篇文章中介绍了反序列化利用链基本知识,并阐述了Transform链的基本知识.Transform链并不是一条完整的利用链, ...

  10. 学习网络安全如何避免成为脚本小子或者安全工具人

    想要避免成为工具人或者脚本小子,你需要注意学习初期和工作初期的选择. 首先,在学习初期,打好基础最重要,避免成为脚本小子. 你可能发现很多人仅仅会写个Python然后会用工具,积累一点经验就可以找到一 ...

最新文章

  1. python怎么做界面自动化_mac+python3+selenium做pc的界面自动化测试
  2. java bindview_手写 ButterKnife BindView
  3. C++11 类型后置语法
  4. 编译microwindow(nano-X) 及flnx-0.18
  5. python实现文件下载的方法总结
  6. LeetCode 1347. 制造字母异位词的最小步骤数
  7. 奖学金(信息学奥赛一本通-T1179)
  8. 这就是数据分析之数据分析入门
  9. 《Oracle高性能自动化运维》一一第1章 Linux下的Oracle
  10. python基础整理——关于进制输出初探
  11. 计算机的主要元器件介绍,计算机基础电子元器件介绍.ppt
  12. Hackintosh 黑苹果安装 基于Thinkpad x201(i5-560M,集显) Legacy Boot Mode安装macOS 10.14 Mojave
  13. 基于Qt的屏幕共享工具(含源码)
  14. 在LINUX环境下怎样设置无线网络配置
  15. 三位数的茎叶图怎么看_如何看懂茎叶图
  16. OSX: 使用命令行对FileVault2分区恢复
  17. 【下载安装】ps软件下载免费中文版及安装详细步骤教程(photoshop软件下载)
  18. 帕德逼近matlab算法,一种基于帕德逼近的通信误差函数逼近方法与流程
  19. 如何在图片上编辑文字?三招教你怎么编辑图片上的文字
  20. VPP DPDK,不是翻墙!!

热门文章

  1. java8 利用reduce实现将列表中的多个元素的属性求和并返回
  2. http-equiv属性详解
  3. linux下挂载移动硬盘(ntfs格式),Linux下挂载移动硬盘(NTFS格式)
  4. 原子范数最小化(Atomic Norm Minimization)
  5. Photoshop教程实例讲解
  6. WordPress初学者入门教程-工具
  7. Linux操作系统普通用户与root之间的切换
  8. 基因组科学数据的安全管理与应用
  9. BZOJ 5109 大吉大利,晚上吃鸡 Code+
  10. 吴永祥:政府大数据服务平台建设之道