Lua的类型与值

原创 2015年07月10日 13:15:04

首先Lua是一种动态类型的语言。在Lua中一共有8种基础类型:nil(空)、boolean(布尔)、number(数字)、string(字符串)、userdata(自定义类型)、function(函数)、thread(线程)和table(表)。

print(type("Hello world"))     -->string
print(type(10.4*3))               -->number
print(type(print))                   -->function
print(type(type))                   -->function
print(type(true))                    -->boolean
print(type(nil))                       -->nil
print(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的某个元素来删除它。









版权声明:本文为博主原创文章,未经博主允许不得转载。(讨论问题+Q763949771) 举报

相关文章推荐

Lua基础 类型和值(二)

5.Table Lua的table类型比较强大,用过都知道,它的index不仅可以使用number,还能使用string等其他的值,nil除外。table没有固定的size,你可以动态地向table...

Lua学习笔记 第二章 类型与值

lua是一种动态类型语言;lua中的8种基础类型是: nil, boolean, number, string, userdata, function,thread, table 函数type()...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

Lua学习之类型,值

学习 成长 坚持每日一篇基本数据类型Lua 是动态类型语言,变量不要类型定义。Lua 中有 8 个基��类型分别为:nil、boolean、 number、string、userdata、functi...

Lua基础 类型和值(一)

Lua是一个动态类型的语言,没有类型定义,每个值都有自己的类型。 Lua有8个基本类型,nil, boolean, number, string, userdata, function, t...

3.lua学习笔记:类型与值

lua内置8种类型:nil,  boolean,  number,  string,  userdata,   function,   thread,   table  nil:     ...

Lua 类型与值

Lua是一个动态类型的语言,没有类型定义,每个值都有自己的类型。 Lua有8个基本类型,nil, boolean, number, string, userdata, functio...

Lua的值与类型

Lua 是一门动态类型语言。 这意味着变量没有类型;只有值才有类型。 语言中不设类型定义。 所有的值携带自己的类型。 Lua 中有八种基本类型: nil、 boolean、 number、 strin...

Lua 类型和值

Lua 是动态类型语言,变量不要类型定义。Lua中有8个基本类型分别为:nil、boolean、 number、string、userdata、function、thread 、table。函数 ty...

【Lua学习笔记】 --> 《类型与值、表达式与基本语法》

lua学习笔记,类型与值、表达式与基本语法。
  • JY_95
  • JY_95
  • 2016-02-04 16:09
  • 780

Lua - 类型和值

Lua中的值类型 空值 nil lua中的空值与其他语言null类似,用关键字nil表示。数字 number(double)lua中的数字均以双精度浮点数存放,不存在整数和浮点数的区别,不过在lua的...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)