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

前言 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.ni…
引言 由于刚接触lua,个人觉得接触一门新语言,就要一定要对基础的部分做一个快速了解. 于是参考网上相关资料吸收并整理下来作为笔记,模糊的时候用来回顾一下. 这些部分基本都是经过自己手动测试梳理过,没有错误的地方. 如果有侵犯的地方还请告知,感谢. 首先从运算符的部分了解认识lua. Lua 有如下几种运算符: .算术运算符 .关系运算符 .逻辑运算符 .其他运算符 算术运算符 操作符 描述 实例 + 加法 A + B 输出结果 30 - 减法 A - B 输出结果 -10 * 乘法 A * B…
基础概念 程序块 (chunk) 定义 lua 中的每一个源代码文件或在交互模式(Cmd)中输入的一行代码都称之为程序块 一个程序块就是一连串语句或者命令 lua 中连续的语句不需要分隔符,但为了可读性可以加换行,或者分隔符分号 ; 来分割语句 但是换行在代码中没有任何作用,仅仅是为了提高可读性 a = 1 b = a * 2 a = 1; b = a * 2 a = 1; b = a * 2 a = 1 b = a * 2 一个程序块可以仅包含一条语句,也可以由多条不同的语句或函数的定义构成…
引言 I/O 库提供了两套不同风格的文件处理接口. 第一种风格使用隐式的文件句柄: 它提供设置默认输入文件及默认输出文件的操作, 所有的输入输出操作都针对这些默认文件. 第二种风格使用显式的文件句柄. 当使用隐式文件句柄时, 所有的操作都由表 io 提供. 若使用显式文件句柄, io.open 会返回一个文件句柄,且所有的操作都由该文件句柄的方法来提供. 表 io 中也提供了三个 和 C 中含义相同的预定义文件句柄: io.stdin io.stdout io.stderr. I/O 库永远不会…
lua os库提供了简单的跟操作系统有关的功能 1.os.clock() 返回程序所运行使用的时间 local nowTime = os.clock() print("now time is ",nowTime) local s = 0 for i = 1,100000000 do s =s+i end spendTime = os.clock() - nowTime print(string.format("Spend time is : %.2f\n", spe…
一.基础数据类型的扩展 1.1GBK ---> UTF - 8 # str --->bytes s1 = '太白' # 字符串是unicode编码 b1 = s1.encode('gbk') # 翻译成gbk编码的形式 print(b1) # b'\xcc\xab\xb0\xd7' 两位 s2 = b1.decode('gbk') # 解码成字符串 print(s2) b2 = s2.encode('utf-8') # 翻译成UTF- 8编码的形式 print(b2) # b'\xe5\xa4…
引言 前面讲了运算符,这里主要对Lua的数据处理相关的数据类型和函数库进行总结归纳,后面会再接着单独分开讲解具体使用. 首先因为Lua 是动态类型语言,变量不要类型定义,只需要为变量赋值. 值可以存储在变量中,作为参数传递或结果返回. Lua 中有 8 个基本类型分别为:nil.boolean.number.string.userdata.function.thread 和 table. nil 这个最简单,只有值nil属于该类,表示一个无效值(在条件表达式中相当于false) boolean…
下面讲一些lua 常见的用法和规则,可以为学习理解lua带来帮助,最后附上的部分是lua的基本操作,基本包含所有常用语法语句. 1. if判断 lua把 nil 和false 视为"假",其他都为"真" 2. 逻辑运算符 and or lua的and or 可以用来构成三元表达式,如下: > = 1 == 1 and 1 or 2 1 但如果是这样写,就不是你想要的结果了: > = 1 == 1 and false or true true 这是因为,a…
Lua 之Module介绍 包管理库提供了从 Lua 中加载模块的基础库. 只有一个导出函数直接放在全局环境中: [require]. 所有其它的部分都导出在表 package 中. require (modname) 加载一个模块. 这个函数首先查找 [package.loaded] 表, 检测 modname 是否被加载过. 如果被加载过,require 返回 package.loaded[modname] 中保存的值. 否则,它会为模块寻找加载器. require 遵循 [package.…
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组.字典等. Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil. Lua table 是不固定大小的,你可以根据自己需要进行扩容. Lua也是通过table来解决模块(module).包(package)和对象(Object)的. 例如string.format表示使用"format"来索引table string. table(表)的构造 构造器是创建和初始化表的…