二、Lua数据类型
文章目录
- 一、数据类型nil
- 二、数据类型boolean
- 三、数据类型number
- 四、数据类型String
- (一)用单引号或双引号:
- (二)可以包含换行的字符串
- (三)字符串与数字做数学运算时,优先将字符串转换成数字
- (四)计算字符串长度
- 五、数据类型-table
- 六、数据类型-function
- 七、数据类型-其他
- (一)thread:协程
- (二)userdata:存储c、c++数据类型
Lua是一种动态类型的语言。在语言中没有类型定义的语法,每个值都“携带”了它自身的类型信息。
在Lua中有8种基础类型:
- nil(空)
- boolean(布尔)
- number(数字)
- string(字符串)
- userdata(自定义类型)
- function(函数)
- thread(线程)
- table(表)
一、数据类型nil
nil是一种类型,它只有一个值nil,它的主要功能是用于区别其它任何值。
一个全局变量在第一次赋值前的默认值就是nil,将nil赋予一个全局变量等同于删除它。
Lua将nil用于表示一种“无效值”的情况,即没有任何有效值的情况。
二、数据类型boolean
lua中只有false和nil 为false,其余都为true
if false or nil thenprint("nil is true")
elseprint("nil is false")
endif 0 thenprint("0 is true")
elseprint("0 is false")
end

三、数据类型number
lua中,只有一种数字类型-number
8字节、双精度。
print("测试number")
a = 10
print(type(a))

四、数据类型String
(一)用单引号或双引号:
print('单引号字符串')
print("双引号字符串")
(二)可以包含换行的字符串
i=[[
我是中国人
我是亚洲人
我是地球人
我是太阳系人
]]
print(i)

(三)字符串与数字做数学运算时,优先将字符串转换成数字
print("测试字符串+")
print("1"+1)
print("1"+"1")

如果字符串不能转成数字将报错:
print("测试字符串+")
print("1"+1)
print("1"+"1")
print("x"+1)

(四)计算字符串长度
print(#"aa")

五、数据类型-table
table 可做数组和map
数组下标从1开始。
print("测试table")
tab1={}
tab2={"v1","v2","v3"}
tab3={key1="value1",key2="value2",key3="value3"}print("-----打印tab3-----")
for k,v in pairs(tab3) doprint(k.."="..v)
endprint("-----打印tab2------")
for k,v in pairs(tab2) doprint(k.."="..v)
endprint("-----按数组索引打印数组------")
print(tab2[1])
print(tab2[2])
print(tab2[3])print("-----nil相当于删除------")
tab3["key1"] = nil
for k,v in pairs(tab3) doprint(k.."="..v)
end

六、数据类型-function
function fib(n)if n == 1 or n == 2 thenreturn 1elsereturn fib(n-1)+fib(n-2)end
endprint("fib(10) = " ..fib(10))
七、数据类型-其他
(一)thread:协程
(二)userdata:存储c、c++数据类型
相关文章:
二、Lua数据类型
文章目录 一、数据类型nil二、数据类型boolean三、数据类型number四、数据类型String(一)用单引号或双引号:(二)可以包含换行的字符串(三)字符串与数字做数学运算时,优先将字符串转换…...
Grabcut算法在图片分割中的应用
GrabCut算法原理 Grabcut是基于图割(graph cut)实现的图像分割算法,它需要用户输入一个bounding box作为分割目标位置,实现对目标与背景的分离/分割,与KMeans与MeanShift等图像分割方法不同。 Grabcut分割速度快,效果好࿰…...
常用的Linux的指令
目录 常用指令 1、文件和目录操作: 2、文件查看和编辑 3、系统信息 4、进程管理 5、用户和权限 6、网络操作 7、压缩和解压 8、软件包管理 常用指令 1、文件和目录操作: ls:列出目录内容 cd: 切换目录 pwd:显…...
【STM32】GPIO输出
1 GPIO简介 (1)GPIO(General Purpose Input Output)通用输入输出口 (2)可配置为8种输入输出模式 (3)引脚电平:0V~3.3V,部分引脚可容忍5V(可以输…...
【Go语言从入门到实战】反射编程、Unsafe篇
反射编程 reflect.TypeOf vs reflect.ValueOf func TestTypeAndValue(t *testing.T) {var a int64 10t.Log(reflect.TypeOf(a), reflect.ValueOf(a))t.Log(reflect.ValueOf(a).Type()) }判断类型 - Kind() 当我们需要对反射回来的类型做判断时,Go 语言内置了一个…...
vue实现对话框指定某个对话内容的滚动到指定位置(滚动到可视区域的中间位置)
1、使用el-scrollbar实现定位滚动(elementui组件库) 如何滚动:参考链接 比如说指定某条对话内容滚动到可视区域的中间 html结构: <div class"chat-list" id"chat-list"><el-scrollbar ref"scro…...
【RTP】2:RtpPacket、RtpPacketToSend 创建、修改的简要分析
【RTP】1: RTPSenderAudio::SendAudio继续对如何做修改,比如修改扩展 做分析。查找扩展 一个已知的已经在packet中存在的扩展bool RtpPacket::IsExtensionReserved(ExtensionType type) const {uint8_t id = extensions_.GetId(type);...
汽车租聘管理与推荐系统Python+Django网页界面+协同过滤推荐算法
一、介绍 汽车租聘管理与推荐系统。本系统使用Python作为主要编程语言,前端采用HTML、CSS、BootStrap等技术搭建前端界面,后端采用Django框架处理用户的请求。创新点:使用协同过滤推荐算法实现对当前用户个性化推荐。 其主要功能如下&#x…...
qt pdf 模块简介
文章目录 1. 技术平台2. Qt pdf 模块3. cmake 使用模块4. 许可证5. 简单示例5.1 CMakeLists.txt5.2 main.cpp 6. 总结 1. 技术平台 项目说明OSwin10 x64Qt6.6compilermsvc2022构建工具cmake 2. Qt pdf 模块 Qt PDF模块包含用于呈现PDF文档的类和函数。 QPdfDocument 类加载P…...
Spring Boot WebSocket 客户端
介绍 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它可以提供实时的、双向的数据传输。Spring Boot 提供了对 WebSocket 的支持,我们可以使用 Spring Boot WebSocket 客户端来连接到 WebSocket 服务器,并进行实时通信。 本文将…...
第五题-kotori和素因子【第六届传智杯程序设计挑战赛解题分析详解复盘】(JavaPythonC++实现)
🚀 欢迎来到 ACM 算法题库专栏 🚀 在ACM算法题库专栏,热情推崇算法之美,精心整理了各类比赛题目的详细解法,包括但不限于ICPC、CCPC、蓝桥杯、LeetCode周赛、传智杯等等。无论您是刚刚踏入算法领域,还是经验丰富的竞赛选手,这里都是提升技能和知识的理想之地。 ✨ 经典…...
【服务器能干什么】二十分钟搭建一个属于自己的 RSS 服务
如果大家不想自己捣鼓,只是想尝尝鲜,可以在下面留言,我后台帮大家开几个账号玩一玩。 哔哩哔哩【高清版本可以点击去吐槽到 B 站观看】:【VPS服务器到底能干啥】信息爆炸的年代,如何甄别出优质的内容?你可能需要自建一个RSS服务!_哔哩哔哩_bilibili 前言 RSS 服务 市…...
热门免费api接口:含核验API,物流api,短信api,天气api。。。
热门免费api接口:含核验API,物流api,短信api,天气api。。。 银行卡二要素:检测输入的姓名、银行卡号是否一致。毫秒级响应、直联保障,支持全国所有银联卡。银行卡三要素:检测输入的姓名、身份证号码、银行卡号是否一致。毫秒级响…...
基于AC6969的蓝牙控制RGB彩灯
程序的实现思路:单片机与手机app之间通过蓝牙实现通讯,通过点击屏幕上的对应色块然后app会把对应的RGB值发送到单片机。然后单片机会对数据进行解析然后把数字量转换为模拟量,然后通过PWM控制IO口输出不同的电压以此来达到控制RGB灯 RGB彩灯原…...
【C++高阶(五)】哈希思想--哈希表哈希桶
💓博主CSDN主页:杭电码农-NEO💓 ⏩专栏分类:C从入门到精通⏪ 🚚代码仓库:NEO的学习日记🚚 🌹关注我🫵带你学习C 🔝🔝 哈希结构 1. 前言2. unordered系列容器3. 哈希概…...
45、Flink 的指标体系介绍及验证(1)-指标类型及指标实现示例
Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...
SAP创建ODATA服务-Structure
SAP创建ODATA服务-Structure 1、创建数据字典 进入se11创建透明表ZRICO_USR,并创建对应字段 2、创建OData service 首先创建Gateway service project,事务码:SEGW,点击Create Project 按钮 Gateway service Project分四个部分:…...
【开源】基于JAVA的车险自助理赔系统
项目编号: S 018 ,文末获取源码。 \color{red}{项目编号:S018,文末获取源码。} 项目编号:S018,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 角色管理模块2.3 车…...
单例模式-C++实现
目录 饿汉式懒汉式双检查锁,线程安全的版本什么是reorder?解决内存读写reorder不安全方法代码解释懒汉式的优缺点 单例模式是一种设计模式,用于确保一个类只有一个实例,并提供一个全局的访问点来获取该实例。它常用于需要在整个应…...
一种模板类实现和声明分开在生成的.a文件被使用时出现undefined reference时的一种解决方法
一种模板类实现和声明分开在生成的.a文件被使用时出现undefined reference时的一种解决方法 模板类头文件格式如下: test.h // test.h namespace test { namespace _testspace { class base { public: base(); ~base(); };template<bool T> class base_impl…...
ELF与镜像文件格式解析及二进制工具链实践
1. 文件格式基础概念解析在软件开发与系统底层交互过程中,我们经常会遇到各种不同类型的二进制文件。这些文件虽然都以二进制形式存储,但各自具有完全不同的结构和用途。理解它们的区别对于程序编译、链接、调试以及系统级开发都至关重要。ELF࿰…...
Windows系统运行Android应用的终极方案:APK Installer完全指南
Windows系统运行Android应用的终极方案:APK Installer完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经遇到这样的情况:想在W…...
Pyfa:EVE Online舰船配置的离线解决方案
Pyfa:EVE Online舰船配置的离线解决方案 【免费下载链接】Pyfa Python fitting assistant, cross-platform fitting tool for EVE Online 项目地址: https://gitcode.com/gh_mirrors/py/Pyfa 在EVE Online的浩瀚宇宙中,舰船配置是决定战斗胜负的关…...
如何快速构建诗歌API:PoetryDB开源项目完整指南 [特殊字符]
如何快速构建诗歌API:PoetryDB开源项目完整指南 🚀 【免费下载链接】poetrydb The Internets first Poetry API 项目地址: https://gitcode.com/gh_mirrors/po/poetrydb PoetryDB是互联网上第一个诗歌API项目,为开发者和诗歌爱好者提供…...
【技术精讲】从理论到实践:手把手教你完成DFA最小化
1. 什么是DFA最小化?为什么需要它? 想象一下你正在整理一个杂乱无章的衣柜。有些衣服你从来不穿(死状态),有些衣服功能重复(等价状态)。DFA最小化就像给衣柜做断舍离,保留所有必要的…...
手把手教你用Video-LLaVA和LoRA,微调自己的视频异常分析‘侦探’(附代码思路)
用Video-LLaVA和LoRA打造视频异常分析专家的实战指南 当监控摄像头捕捉到一场突如其来的骚乱,或是生产线上的机械臂突然失控,传统算法只能给出冷冰冰的"异常报警"。而现在,我们可以教会AI像经验丰富的安全专家那样,不仅…...
小白程序员必备:收藏这份数据库入门指南,轻松掌握SQL大模型核心技能!
小白程序员必备:收藏这份数据库入门指南,轻松掌握SQL大模型核心技能! 本文详细介绍了数据库基础概念,包括数据库、DBMS、DBA等,并深入讲解了SQL语言分类(DDL、DML、DQL、DCL)。重点解析了DDL操作…...
realme Q3 5G刷机全攻略:从TWRP到Magisk Root权限获取
1. realme Q3 5G刷机前的准备工作 在开始刷机之前,我们需要做好充分的准备工作。realme Q3 5G(型号RMX3161)作为一款性价比极高的5G手机,搭载高通骁龙750G处理器,确实是个不错的刷机选择。不过刷机有风险,操…...
AI写文+自动发布实现方法,自媒体矩阵新玩法
不少自媒体运营者在内容产出上常常面临时间紧、任务重的问题。每天要构思选题、撰写文案、排版配图、多平台分发,流程繁琐且重复性高。于是,有人尝试将AI写作与自动发布结合起来,看看是否真能提升效率。我们也在实际操作中验证了这一组合的效…...
电源管理入门-18 Power Domain管理
SoC中通常有很多IP,按逻辑可以把几个相关功能的IP划为一个电源域。一个电源域内的IP,通常按相同的方式由同一个硬件模块PMIC供电,电压一样并且电源管理例如休眠唤醒一致。为什么有设备电源管理还需要power domain划分? 对每个设备…...
