Lua的类型与值
来源:互联网 发布:数据库用什么语言 编辑:程序博客网 时间:2024/05/16 09:21
首先Lua是一种动态类型的语言。在Lua中一共有8种基础类型:nil(空)、boolean(布尔)、number(数字)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)和table(表)。
print(type("Hello world")) -->stringprint(type(10.4*3)) -->numberprint(type(print)) -->functionprint(type(type)) -->functionprint(type(true)) -->booleanprint(type(nil)) -->nilprint(type(type(x))) -->string变量没有预定义的类型,任何变量可以包含任何变量的值。
nil是一种类型,它只有一个值nil,它的主要功能是区别于其他任何值。就像之前所说的,一个全局变量在第一次赋值前的默认值就是nil,将nil赋予一个全局变量等于删除它。Lua将nil用于表示一种”无效值的情况“,即没有任何有效值的情况。
boolean类型有两个可选值:false和true,这与传统的布尔值一样。然而boolean却不是一个条件之的唯一表示方式。在Lua中任何值都可以表示一个条件。Lua将false和nil作为”假“,而将除此之外的其他值视为“真”。还有一点需注意,Lua在条件测试中,将数字零和空字符串也都视为”真“。
number类型用于表示实数。Lua没有整数类型,因为没有必要。书写一个数字常量时,可以使用普通的写法,也可以使用科学技术法。
Lua中的字符串时不可变的值。不能像在C语言中那样直接字符串的某个字符,而是应该根据修改要求来创建一个新的字符串。Lua的字符串和其他Lua对象一样,都是自动管理内存机制,不需要担心字符串的分配和释放,并且Lua的字符串小到只包含一个字母,大到可以包含整本书。在Lua中100K到1M的字符串时很常见的。字面字符串需要以一对匹配的单引号或双引号来界定。
table类型实现了”关联数组“。它是一种具有特殊索引的数组。不仅可以通过整数来索引它,还可以使用字符串或其他类型的值(除了nil)来索引它。此外table没有固定的大小,可以动态的添加任意数量的元素到一个table中。table是Lua主要的数据结构机制,具有强大的功能。当一个程序再也没有对一个table的引用时,Lua的垃圾收集器最终会删除该table,并复用它的内存。和全局变量一样,当table的某个元素没有初始化时,它的内容就为nil。另外还可以像全局变量一样,将nil赋予table的某个元素来删除它。
- Lua的类型与值
- Lua的值与类型
- Lua 类型与值
- Lua类型与值
- lua类型与值
- Lua.1 lua的类型与变量
- [Lua]Lua语言基础汇总(1) -- 类型与值
- Lua 类型与值(二)
- lua学习之类型与值
- 3.lua学习笔记:类型与值
- Lua入门教程 2.类型与值
- Lua学习总结(值与类型)
- (二)Lua类型与值
- 一、Lua中的类型与值
- Lua 基础学习1-类型与值
- 2.lua的类型和值
- lua的table类型
- 【Lua学习笔记】 --> 《类型与值、表达式与基本语法》
- 黑马程序员——String类详解
- Dijkstra算法求任意点到其它点的最短路径
- 面试技巧之群面
- Ueditor图片上传设置(1.4.3 JSP版本)
- POJ 2431 Expedition(贪心)
- Lua的类型与值
- linux 信号屏蔽
- 新版ADT创建项目时出现appcompat_v7\bin(missing),ppcompat_v7/gen(missing)的问题
- mysql查询优化
- 利用栈写的一个支持四则运算的计算器
- js 字符串中某字符被全部替换
- silverlight根据json字符串动态创建实体类
- Matlab的默认工作路径修改
- 线上问题解决思路