详解Lua中的数据类型_Lua

 Lua是动态类型语言,所以变量没有类型,仅值有类型。值可以被存储在变量中,作为参数传递,并作为结果返回。

在Lua中虽然我们没有变量的数据类型,但我们有类型的值。用于数值数据类型的列表在下面给出。


 函数类型

在Lua中有一个叫做函数类型,使我们能够知道变量的类型。如下一些例子给出了下面的代码。

复制代码 代码如下:

print(type("What is my type"))   --> string
t=10
print(type(5.8*t))               --> number
print(type(true))                --> boolean
print(type(print))               --> function
print(type(type))                --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

当建立并执行上面的程序,它在Linux下面会产生结果:

复制代码 代码如下:

string
number
function
function
boolean
nil
string

默认情况下,所有的变量将指向nil ,直到他们被分配一个值或初始化。在Lua中,0和空字符串被认为是true,条件检查也是如此。因此,必须使用布尔操作时要小心。我们在下面的章节了解更多并使用这些类型。

时间: 2024-10-04 01:10:12

详解Lua中的数据类型_Lua的相关文章

详解Lua中的元表概念

  这篇文章主要介绍了详解Lua中的元表,是Lua入门学习中的基础知识,需要的朋友可以参考下 元表是一个表,有助于改变它连接到一个密钥集和相关的元方法的帮助下表的行为.这些元方法是强大的lua功能,如: 更改/添加功能,以运算符表 查看metatables当钥匙不在使用__index元表中的表可用. 有迹象表明,在处理metatables其中包括使用了两种重要的方法, setmetatable(table,metatable): 这个方法是用来设置元表的一个表. getmetatable(tab

详解Lua中的while循环语句的使用

  这篇文章主要介绍了详解Lua中的while循环语句的使用,是Lua入门学习中的基础知识,需要的朋友可以参考下 在Lua编程语言中的while循环语句,只要给定的条件为真时将重复执行的目标语句. 语法 Lua编程语言中的while循环的语法是: 代码如下: while(condition) do statement(s) end 在这里,声明(S)可以是单一语句或语句块.该条件可以是任何表达式,并且真正是任意非零值.循环迭代当条件是true. 当条件为假,则程序控制进到紧接在循环之后的一行.

详解Lua中的if语句的使用方法

  这篇文章主要介绍了详解Lua中的if语句的使用方法,是Lua入门学习中的基础知识,需要的朋友可以参考下 if语句由一个或多个语句组成一个布尔表达式. 语法 Lua编程语言的if语句语法是: 代码如下: if(boolean_expression) then --[ statement(s) will execute if the boolean expression is true --] end 如果布尔表达式的计算结果为代码的if语句为true,那么块将被执行.如果if语句的末尾(右大括

详解Lua中if ... else语句的使用方法

  这篇文章主要介绍了详解Lua中if ... else语句的使用方法,是Lua入门学习中的基础知识,需要的朋友可以参考下 if 语句后面可以跟一个可选的else语句,当布尔表达式为假该语句执行. 语法 在Lua编程语言中的if ... else语句的语法是: 代码如下: if(boolean_expression) then --[ statement(s) will execute if the boolean expression is true --] else --[ statemen

详解Lua中的变量相关知识点_Lua

 变量不过是存储到区域项目可以操作的名称.它可以容纳不同类型的值,包括函数和表格. 变量名可以由字母,数字和下划线.它必须以字母或下划线.大写和小写字母是不同的,因为Lua是区分大小写的.有八种基本类型值在Lua中: 在Lua,尽管我们没有变量的数据类型,我们基于该变量范围的三种类型.     全局变量:所有的变量默是全局除非显式地声明为局部.     局部变量:当类型被指定为局部的一个变量,它的范围是有限的在自己的范围内使用.     表字段:这是一种特殊类型的变量,可以除了nil,包括功能不

详解Lua中的数组概念知识_Lua

 数组是有序的对象的装置,它可以是包含含有多个行和列的行或多维阵列的集合的单个二维数组. 在Lua中,数组是使用索引表与整数实现的.数组的大小是不固定的,它可以增长基于我们需要受存储器限制.一维数组 一维数组可以用一个简单的表结构来表示,可以初始化,使用一个简单的for循环读取.如下例子所示. 复制代码 代码如下: array = {"Lua", "Tutorial"} for i= 0, 2 do    print(array[i]) end 当我们运行上面的代码

详解SQLite中的数据类型_数据库其它

 大多数 SQL 数据库引擎 (据我们所知,除 SQLite 之外的所有 SQL 数据库引擎)都使用严格的静态类型.使用静态类型,值的类型便由它的容器 -- 存储值的特定的列 -- 来决定. SQLite 使用更通用的动态类型系统.在 SQLit 中,值的数据类型与值本身相关,而不是与它的容器.SQLite 的动态类型系统与其它数据库引擎的常用静态类型系统是向后兼容的,在这个意义上,工作在静态类型数据库上的 SQL 语句应该以同样的方式工作在 SQLite 中.然而,SQLite 中的动态类型允

详解Swift中的数据类型类型转换_Swift

一.类型检查与转换 在Objective-C和Java中,任何类型实例都可以通过强转使编译器认为它是另一种类型的实例,这么做其实是将所有的安全检查工作都交给了开发者自己来做.先比之下,Swift中的Optional类型转换就会比较安全与可靠. Swift中使用is关键字来进行类型的检查,其会返回一个布尔值true或者false来表明检查是否成立,示例如下: var str = "HS" if str is String { print(str) } Swift中有向上兼容与向下转换的特

举例详解Lua中的协同程序编程

这篇文章主要介绍了Lua中的协同程序编程,是Lua入门学习中的基础知识,需要的朋友可以参考下 协同程序是协同的性质,可以把两个或更多的方法以可控制的方式执行.随着协同程序,在任何给定的时间,只有其协同程序运行之一,这在运行协同程序只能暂停其执行时,明确要求暂停. 上述定义可能看起来模糊.来告诉它更清楚,假设我们有两个方法,一个主程序方法和协同程序.当我们使用恢复功能调用协程,其开始执行,当我们调用yield功能,暂停执行.再次同协程可以继续从它被暂停的另一个恢复功能调用执行.这个过程可以继续,直