当前位置: 首页 > news >正文

Lua学习-1 基础数据类型

文章目录

    • 基础数据类型分类
      • nil
      • boolean
      • number
      • string
      • function
      • userData
      • thread
      • table
    • 如何判断类型(type)
    • 不同类型数据常见操作
      • nil
      • number
      • string(字符串)
      • function
        • 普通函数
        • 匿名函数
        • 不定参数函数
      • table

基础数据类型分类

nil

表示无效值

boolean

只有 truefalse

number

数值类型可以保存实数,包括整数和浮点数,整数可以是十进制和十六进制,由一串数字序列组成。如果是0x开始,则表示是一个十六进制数。

string

使用单引号或者双引号包含的值即为string

function

函数

userData

用户自定义的 数据结构

thread

线程,

table

表,可以是数组 也可以是对象

如何判断类型(type)

通过使用type()方法进行判断,该方法会返回字符串的类型,然后可以通过==号判断类型。例如:

> type(nil) =='nil'
true
> type(nil) == nil
false
> type("测试") == "string"true

不同类型数据常见操作

nil

  1. 表示的是一个无效值,同时我们可以通过该属性将table和全局变量进行删除
  2. nil表示假值,lua中仅有两个假值 分别为:falsenil

number

print(type(2))
print(type(2.2))
print(type(0.2))
print(type(2e+1))
print(type(0.2e-1))
print(type(7.8263692594256e-06))

string(字符串)

  1. 双引号和单引号都表示字符串类型(部分语言单引号表示char类型)
  2. 用引号包裹的字符串会被转义。例如:
> a = "1\n2"
> print(a)
--输出结果
1
2
  1. 如果字符串内容不想被转义则推荐使用块字符串[[内容]],例如:
> a = [["这是测试块字符串"]]
> print(a)
--输出结果
"这是测试块字符串"
  1. 如果 块字符串中包含最外层包含[]则需要对块字符串做额外处理,即在[[中拼接=,例如:
> a = [=[[]]=]
> print(a)
--输出结果
[]

function

普通函数

function func1()a = 456;print("a:",a)
end
func1(a)

匿名函数


function func1(a,fun)a = 456;print(a);fun("567");
end
func1(a,
function (b)print(b);
end
)

不定参数函数

function func1(...)local arg = {...}print(arg[1])print(arg[2])print(arg[3])
end
func1(1,2,3)

table

http://www.lryc.cn/news/95662.html

相关文章:

  • 普通的计算机专业大学生如何学习才能找到好offer
  • iOS私钥证书和证书profile文件的生成攻略
  • 前端 | ( 十二)CSS3简介及基本语法(中)| 变换、过渡与动画 | 尚硅谷前端html+css零基础教程2023最新
  • 【BOOST程序库】时间日期库
  • Windows 命令提示符 (cmd. exe) 命令行字符串长度限制
  • Kafka 入门到起飞系列
  • [RabbitMQ] RabbitMQ简单概述,用法和交换机模型
  • Oracle 多条记录根据某个字段获取相邻两条数据间的间隔天数,小于31天的记录都筛选出来
  • 【数据挖掘】如何修复时序分析缺少的日期
  • CDN、P2P、PCDN的区别是什么
  • MYSQL练习一答案
  • 路由器(第二十五课)
  • 物联网网关模块可以带几台plc设备吗?可以接几个modbus设备?
  • SpringBoot中间件—ORM(Mybatis)框架实现
  • 结构化思维:高效能项目经理人的底层能力
  • Pytorch个人学习记录总结 07
  • vue3+ts+elementui-plus二次封装树形表格
  • 机器学习/深度学习常见算法实现(秋招版)
  • 京东技术专家首推:Spring 微服务架构设计,GitHub 星标 128K
  • R语言--森林图制作
  • Tomcat中利用war包部署
  • [JAVAee]线程安全
  • ELK环境搭建——概况
  • 面试知识点整理
  • 腾讯云服务器CVM计算型c6/c5实例CPU型号、处理器主频大全
  • vue3笔记-脚手架篇
  • 数字的补数
  • Taskfile demo
  • MyBatis学习笔记之高级映射及延迟加载
  • 小程序如何删除/上架/下架商品