lua 数据类型
lua 数据类型
8 种数据类型
类型 | 说明 |
---|---|
nil | 空类型 |
boolean | 布尔类型 |
number | 数值型, 浮点型 |
string | 字符串 |
function | 函数 |
userdata | 用户自定义结构 |
thread | 协程 |
table | 表 |
测试类型 (type 函数)
#!/usr/bin/lua
print(type(nil)) -- nil
print(type(true)) -- boolean
print(type(3.14)) -- number
print(type("hello world")) -- string
print(type(type)) -- function
print(type({1, 2})) -- table
各类型说明
nil
空类型, 没有任何值, 与 false 不同
对于全局变量和 table, nil 还有 "删除" 功能, 为全局变量或 table 中的变量赋值为 nil, 即删除了此变量, 示例程序
tab = {k1 = "v1", k2 = "v2", "v3"} for k, v in pairs(tab) do
print(k .. "---" .. v)
end tab.k1 = nil
print("nil after") for k, v in pairs(tab) do
print(k .. "---" .. v)
end
boolean
true | false
number
lua 的数值类型仅有一种 number 类型, 并不区分整型和浮点型
string
字符串由一对双引号或单引号表示
大块的字符串也可以用 "[[ 字符串 ]]" 表示
字符串连接操作符是 ".."
print("hello" .. "world")
计算字符串长度的操作符是 "#", 放在字符串前面
print(#"hello")
function
函数定义关键词是 "function"
userdata
用户自定义的结构体
thread
table
lua 中表的概念类似于其他语言的数组
lua 中表的索引默认从 1 开始
lua 数据类型的更多相关文章
- Lua数据类型
[1]Lua数据类型 Lua语言共有8种基本类型 [1] nil 空.最简单,有且仅有值nil,表示一个无效值(在条件表达式中相当于false) [2] boolean 布尔.包含两个值:false和 ...
- Lua学习三----------Lua数据类型
© 版权声明:本文为博主原创文章,转载请注明出处 Lua数据类型 - Lua是动态类型语言,不需要为变量定义类型,只需要为变量赋值 - Lua有8中基本数据类型:nil.boolean.number. ...
- lua数据类型与变量
Lua数据类型与变量 Lua中有 8个基本类型分别为: nil.boolean.number.string.userdata.function.thread和 table. lua变量三种类型:全局 ...
- Lua 数据类型和 Redis 数据类型之间转换
当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua ...
- 雷林鹏分享:Lua 数据类型
Lua是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储在变量中,作为参数传递或结果返回. Lua中有8个基本类型分别为:nil.boolean.number.string.userda ...
- Lua 学习之基础篇二<Lua 数据类型以及函数库 汇总>
引言 前面讲了运算符,这里主要对Lua的数据处理相关的数据类型和函数库进行总结归纳,后面会再接着单独分开讲解具体使用. 首先因为Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储 ...
- lua数据类型的的操作(三)
上一章我们学习了lua的数据类型,以及语法的定义,今天我们学习lua的数据类型操作,其实就是lua库一些api的操作,遇到对数据类型处理时,可以根据lua库提供的操作来实现. 一.字符串操作 1.字符 ...
- Lua 与 Redis
Lua 与 Redis 标签: Java与NoSQL 从 2.6版本 起, Redis 开始支持 Lua 脚本 让开发者自己扩展 Redis - 案例-实现访问频率限制: 实现访问者 $ip 在一定的 ...
- Lua 架构 The Lua Architecture
转载自:http://magicpanda.net/2010/10/lua%E6%9E%B6%E6%9E%84%E6%96%87%E6%A1%A3/ Lua架构文档(翻译) 十 102010 前段时间 ...
随机推荐
- sql查询表说明
一条神奇的sql语句 可以查询到数据库表的说明信息.如下:希望可以帮到大家 SELECT 表名 = case when a.colorder=1 then d.name else '' end, 表说 ...
- css秘密花园
picture元素 http://www.w3cplus.com/responsive/responsive-images-101-part-6-picture-element.htmlCHAPTER ...
- php基础语法(20161021)
上午: 数据库总结: 1.创建数据库 create database 数据库名称 删除数据库 drop database 数据库名称 2.创建表 create table 表名 ( 列名 类型(长度) ...
- JSP文件转换成为JAVA文件后的结构
public final class zzz_jsp extends HttpJspBase implements JspSourceDependent{ public void _jspInit() ...
- FormData+Ajax 实现多文件上传 学习使用FormData对象
FormData对象是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利. 今天我们使用dropzone和FormData实现多文件上传功能. var SAMP = null; / ...
- React 进修之路(2)
生命周期 React中的组件被看成是一个有生命的个体,因此赋予了声明周期的概念,就是为了定义组件所处的状态 React中组件共分三大周期,11个阶段 创建期(少年,成长)组件创建时候进入的时期 get ...
- Redis命令总结及其基础知识讲述
1.redis的不同之处 Redis拥有其他数据库不具备的数据结构,又拥有内存存储(这使得redis的速度非常快),远程操作(使得redis可以与多个客户端和服务器进行连接).持久化(使得服务器可以在 ...
- Cannot use ImageField because Pillow is not installed.
现象描述: 使用 ImageField ,创建数据库表时,提示如下: Cannot use ImageField because Pillow is not installed. HINT: Get ...
- JAVA基础知识(2)--队列的操作
队列是一种线性表,它只允许在该表中的一端插入,在另一端删除. 允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front): 下面用Java的数组进行模拟队列的操作: /**2015-07 ...
- 【SF】开源的.NET CORE 基础管理系统 -介绍篇
[SF]开源的.NET CORE 基础管理系统 -系列导航 1.环境: .NET Core SDK (https://www.microsoft.com/net/core) SQL Server or ...