前言

Lua有6中数据类型,分别是nil(空)、boolean(布尔)、number(数字)、string(字符)、table(表)、function(函数)

在Lua中可以使用type函数来返回一个值或者变量所属的类型,如:

print(type("helle world"))	-->output:string
print(type(print)) -->output:function
print(type(true)) -->output:boolean

1.nil(空)

  Lua将nil用来表示“无效值”。一个变量再第一次赋值前默认值是nil,将nil赋值给一个全局变量就等同于删除它。

local num
print(num) -->output:nil
num = 100
print(num) -->output:100
num = nil            print(num)             -->output:nil

2.boolean(布尔)

  布尔值可选值为true/false,在Lua中nil和false为“假”,其余都为“真”,比如0和空字符都为真。

3.number(数字)

  number用于表示实数,可以使用数学函数math.floor(向下取整),math.ceil(向上取整)

local	order	=	3.0
local score = 98.5
print(math.floor(order)) -->output:3
print(math.ceil(score)) -->output:99

4.string(字符)

  在Lua中,字符串有三种表示方法:

  1)使用一对单引号。如:‘hello’

  2)使用一对双引号。如:“hello”

  3)使用长括号(即[[]])来定义。

  注:Lua的字符串中的转移字符不起作用。

    Lua的字符串是不可改变的值,不能像再c语言中那样直接修改字符串的某个字符,而是根据修改要求来创建一个新的字符串。

    Lua也不能通过下标来访问字符串的某个字符。

local	str3 = [["add\name",'hello']]
local str4 = [=[string have a [[]].]=]
print(str1) -->output:hello world
print(str2) -->output:hello lua
print(str3) -->output:"add\name",'hello'
print(str4) -->output:string have a [[]].

5.table(表)

  table类型实现了一种抽象的“关联数组”。关联数组是一种具有特殊索引方式的数组,索引通常是字符串或者number类型,但也可以是除nil以外任意类型的值。

6.function(函数)

  在Lua中,函数也是一种数据类型,函数可以存储在变量中,可以通过参数传递给其他函数,还可以作为其他函数的返回值。

  函数以end结尾。

local function foo()
  print("in the function")
  --dosomething()
  local x = 10
  local y = 20
  return x + y
end
local a = foo --把函数赋给变量
print(a())
--output:
in the function
30

  

Lua学习----Lua基础数据类型的更多相关文章

  1. Lua 学习之基础篇一<Lua 运算符>

    引言 由于刚接触lua,个人觉得接触一门新语言,就要一定要对基础的部分做一个快速了解. 于是参考网上相关资料吸收并整理下来作为笔记,模糊的时候用来回顾一下. 这些部分基本都是经过自己手动测试梳理过,没 ...

  2. lua学习之基础概念篇

    基础概念 程序块 (chunk) 定义 lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块 一个程序块就是一连串语句或者命令 lua 中连续的语句不需要分隔符,但为了可读 ...

  3. Lua 学习之基础篇六<Lua IO 库>

    引言 I/O 库提供了两套不同风格的文件处理接口. 第一种风格使用隐式的文件句柄: 它提供设置默认输入文件及默认输出文件的操作, 所有的输入输出操作都针对这些默认文件. 第二种风格使用显式的文件句柄. ...

  4. Lua 学习之基础篇五<Lua OS 库>

    lua os库提供了简单的跟操作系统有关的功能 1.os.clock() 返回程序所运行使用的时间 local nowTime = os.clock() print("now time is ...

  5. Python基础学习Day7 基础数据类型的扩展 集合 深浅copy

    一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk' ...

  6. Lua 学习之基础篇二<Lua 数据类型以及函数库 汇总>

    引言 前面讲了运算符,这里主要对Lua的数据处理相关的数据类型和函数库进行总结归纳,后面会再接着单独分开讲解具体使用. 首先因为Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储 ...

  7. Lua 学习之基础篇十<Lua 常见的语法规则>

    下面讲一些lua 常见的用法和规则,可以为学习理解lua带来帮助,最后附上的部分是lua的基本操作,基本包含所有常用语法语句. 1. if判断 lua把 nil 和false 视为"假&qu ...

  8. Lua 学习之基础篇七<Lua Module,Package介绍>

    Lua 之Module介绍 包管理库提供了从 Lua 中加载模块的基础库. 只有一个导出函数直接放在全局环境中: [require]. 所有其它的部分都导出在表 package 中. require ...

  9. Lua 学习之基础篇四<Lua table(表)>

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua ta ...

随机推荐

  1. Java 正则表达式 量词 --- 三种匹配模式【贪婪型、勉强型、占有型】

    1.Greediness(贪婪型):最大匹配X?.X*.X+.X{n,}都是最大匹配.例如你要用“<.+>”去匹配“a<tr>aava</tr>abb”,也许你所期 ...

  2. JMS总结

    一 什么是JMS 1.JMS,Java Message Service,Java消息服务是一种可以实现异步通讯的消息中间件MOM(Message Oriented Middleware,面向消息的中间 ...

  3. 详解 IOS 7.1 程序启动原理

    程序都是从Main方法入口的 IOS 也不例外 int main(int argc,char * argv[]) { @autoreleasepool { return UIApplicationMa ...

  4. Eclipse快捷键大全

    Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...

  5. robotframework接口测试初探3

    接口自动化环境搭建好了 requests接口测试模块也会用了 那么怎样整合到RF的框架呢? 写一个小例子

  6. 帝国cms内容批量替换

    方法一:栏目-其他相关-批量替换字段值 方法二:通过sql替换           UPDATE phome_ecms_news SET body=REPLACE(body,'原来','现在')

  7. CSS3的calc()使用

    CSS3的calc()使用 calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度.比如说,你可以使用calc()给元素的border.margin.pad ...

  8. SQLite数据库使用

    最近在查看一些关于数据库的相关文档博客写写总结,以防下次自己又忘啦  哈哈 首先,安卓是有给我们提供一个帮助类SQLiteOpenHelper,这个类我们一般需要实现3个方法,哈哈这个编译工具是会提示 ...

  9. Python通用序列操作

    1.序列概览 1.数据结构 序列.容器 Python中最基本的数据结构是序列,其有索引(从左到右第一个索引为0,从右到左第一个索引为-1). Python包含6中内建的序列: 列表 元组 字符串 Un ...

  10. oracle数据迁移、备份等

    exp db  或者数据泵. 或者ETL工具