详解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,条件检查也是如此。因此,必须使用布尔操作时要小心。我们在下面的章节了解更多并使用这些类型。
相关推荐
-
Lua中基本的数据类型、表达式与流程控制语句讲解
1. Lua类型 1.1 基本类型 Lua是一种动态类型语言,没有类型定义的语法.Lua一共有8种基础类型:nil(空).boolean(布尔).number(数字).string(字符串).userdata(自定义类型).function(函数).thread(线程).table(表). 函数type可根据一个值返回其类型名称(字符串),如print(type(print)),输出"function":print(type(type(X))) ,输出"string"
-
Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
赋值语句 注释,单行用(--)来表示:多行用(--[[ ... ]])来标示: 定义,lua中没有定义(申明数据类型),它是通过赋值来确定其数据类型的. 赋值,是改变一个变量的值和改变表域的最基本的方法. a = "hello" .. "world" Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量.a, b = 10, 2*x <--> a=10; b=2*x 遇到赋值语句Lua会先计算右边所有的
-
Lua学习笔记之数据类型
从本篇博客开始研究一下Lua,现在的Lua真得是很火,因为Cocos2d-x写游戏的时候会用到,所以就拿过来学学吧,先从基础的语法开始,然后慢慢的深入.本人也是刚刚学习,希望和学习Lua的大家交流,博客权当笔记,有错误之处还请赐教. 当然首先是开发环境了,我的学习背景是Cocos2d-x,所以下载了最近发布的Cocos Code IDE版本,我们可以在Cocos Code IDE上边新建工程,然后写Lua测试代码,关于Cocos Code IDE的使用官方有不少的教程,这里就不说了.当然你也可以
-
深入探究Lua中的解析表达式
使用一个模式 这个例子显示了一个建立和使用模式的程序,它非常简单但很完整: 复制代码 代码如下: local lpeg = require "lpeg" -- matches a word followed by end-of-string p = lpeg.R"az"^1 * -1 print(p:match("hello")) --> 6 print(lpeg.match(p, "hello"))
-
Lua数据类型介绍
Lua 是一个功能强大.快速.轻量的可嵌入式脚本语言,由标准的 ANSI C 实现,由于拥有一组精简的强大特性,以及容易使用的 C API,这使得它可以很容易嵌入或扩展到其他语言中使用,并且有个非官方认领的中文名 -- "撸啊". 安装 Lua Lua 安装很简单,把源码下载下来后,直接 make 就行: 复制代码 代码如下: wget http://www.lua.org/ftp/lua-5.2.2.tar.gz tar -zxvf lua-5.2.2.tar.gz cd lua-5
-
Lua中的基本数据类型详细介绍
基础介绍 Lua是一种动态类型的语言.在语言中没有类型定义的语法,每个值都带有其自身的类型信息.在Lua中有8中基本类型,分别是: 1.nil(空)类型 2.boolean(布尔)类型 3.number(数字)类型 4.string(字符串)类型 5.userdata(自定义类型) 6.function(函数)类型 7.thread(线程)类型 8.table(表)类型 以上是Lua中的8中基本类型,我们可以使用type函数,判断一个值得类型,type函数返回一个对应类型的字符串描述.例如: 复
-
Lua学习笔记之运算符和表达式
本篇博客学习一下Lua的运算符,比较简单,我将说明直接写到了代码中,代码如下. --算术运算符 --二元运算符:+ - * / ^ (加减乘除幂) --一元运算符:- (负值) --这些运算符的操作数都是实数,Lua中没有自增自减的运算符. --关系运算符 -- < > <= >= == ~= --这里需要注意的是不等于是用~=表示的 --这些操作符返回结果为false或者true:==和~=比较两个值,如果两个值类型不同,Lua认为两者不同: --nil只和自己相等.Lua通过引
-
Lua中的操作符和表达式总结
前言 这里总结的内容和其它语言的基本类似,所以这里就只是基本的进行总结.不做详细的讲解. 算术操作符 Lua支持常规的算术操作符有:"+"(加法),"-"(减法),"*"(乘法),"/"(除法),"^"(指数),"%"(取模),一元的"-"(负号).所有的这些操作符都用于实数.例如:x^0.5将计算x的平方根,x^3将计算x的3次方. 关系操作符 Lua提供的关系操作
-
Lua学习笔记之表达式
前言 这里总结的内容和其它语言的基本类似,所以这里就只是基本的进行总结.不做详细的讲解. 算术操作符 Lua支持常规的算术操作符有:"+"(加法),"-"(减法),"*"(乘法),"/"(除法),"^"(指数),"%"(取模),一元的"-"(负号).所有的这些操作符都用于实数.例如:x^0.5将计算x的平方根,x^3将计算x的3次方. 关系操作符 Lua提供的关系操作
-
Lua教程(三):表达式和语句
一.表达式: 1. 算术操作符: Lua支持常规算术操作符有:二元的"+"."-"."*"."/"."^"(指数)."%"(取模),一元的"-"(负号).所有这些操作符都可用于实数.然而需要特别说明的是取模操作符(%),Lua中对该操作符的定义为: 复制代码 代码如下: a % b == a - floor(a / b) * b 由此可以推演出x % 1的
-
实现Lua中数据类型的源码分享
概述 在Lua中有8种基础类型:nil.boolean.number.string.userdata.function.thread和table.可以使用函数type查看某个变量或值的类型,返回相应的类型名称.像其他动态语言一样,在语言中没有类型定义的语法,每个值都携带了它自身的类型信息.下面将通过Lua 5.2.1的源码来看类型的实现. 源码实现 Lua将值表示成带标志的联合结构,代码如下(lobject.h): 90 /* 91 ** Union of all Lua values 9
-
Lua判断数据类型的方法
一.判断数据类型的方法 type(xxxx) 这个函数的返回值是string类型 也就是说: 复制代码 代码如下: a = type(X) -- a="nil" b = type(a) -- b="string" a = type(nil) -- a="nil" 二.Lua脚本语言的8种基本数据类型 1.数值(number):内部以double表示. 2.字符串(string):总是以零结尾,但可以包含任意字符(包括零),因此并不等价
-
Lua表达式和控制结构学习笔记
算术操作符 Lua 的算术操作符有: "+"(加法): 复制代码 代码如下: print(1 + 2) "-"(减法): 复制代码 代码如下: print(2 - 1) "*"(乘法): 复制代码 代码如下: print(1 * 2) "/"(除法): 复制代码 代码如下: print(1 / 2) "^"(指数): 复制代码 代码如下: print(27^(-1/3)) "%"(取模)
随机推荐
- 打印json对象的内容及JSON.stringify函数应用
- java web如何解决瞬间高并发
- Java实现Dbhelper支持大数据增删改
- Swift用final关键字来防止重写
- js正则表达式中exec用法实例
- Python读取Excel的方法实例分析
- asp HTTP_X_FORWARDED_FOR和REMOTE_ADDR
- C++中函数指针详解及代码分享
- MySQL关闭过程详解和安全关闭MySQL的方法
- 使用Python编写类UNIX系统的命令行工具的教程
- ECMA5数组的新增方法有哪些及forEach()模仿实现
- 【已解决】标签页刷新问题
- js简单获取表单中单选按钮值的方法
- 在Nginx中增加对OAuth协议的支持的教程
- 用sql语句实现分离和附加数据库的方法
- jquery星级插件、支持页面中多次使用
- JavaScript导出Excel实例详解
- 使用非html5实现js板连连看游戏示例代码
- 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页
- js倒计时简单实现代码