Lua数据类型

Lua数据类型教程

Lua 是一种动态类型的语言。在语言中没有类型定义的语法,每个值都带有其自身的类型信息。在 Lua 中有 8 中基本类型,分别是:

数据类型 描述
nil 这个最简单,只有值 nil 属于该类,表示一个无效值(在条件表达式中相当于 false)。
boolean 包含两个值:false 和 true。
number 表示双精度类型的实浮点数。
string 字符串由一对双引号或单引号来表示。
function 由 C 或 Lua 编写的函数。
userdata 表示任意存储在变量中的 C 数据结构。
thread 表示执行的独立线路,用于执行协同程序。
table Lua 中的表(table)其实是一个 “关联数组”(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过 “构造表达式” 来完成,最简单构造表达式是 {},用来创建一个空表。

Lua数据类型使用

  1. Lua 中变量没有预定义类型,每个变量可以包含任意类型的值,要用就直接赋值一种数据类型的值。
  2. nil 类型就 nil 一个值,表示变量是否被赋值,变量赋值成 nil 也表示删除变量。
  3. 使用 Type(xxx变量) 可以获取该变量的数据类型。
  4. number 所有数字,int float double 类型等都为 number 类型了。
  5. 字符串一旦赋值不能被修改,可以通过方法 string.gsub() 来修改,可以写成 ‘xxas’ 单引号,但是建议用双引号 “”。
  6. number 类型可以和全是数字的字符串进行计算,字符串会进行类型转换。
  7. .. 连接符号,可以连接字符串类型,也可以连接整形的变量,但是如果直接使用真实的数字要在后面加个空格,因为系统会把数字 .. 看出 2 个浮点如 1…2 (错误写法) 1 …2 (正确写法)。
  8. 类型不同,比较判断也不会相等,如 number 类型的 123 不等于 string 类型的 123。
  9. 计算运算符中取余可以和浮点数计算,可以精确到小数级别。
  10. 关系运算符中 ~= 表示不等于,类似其他语言如 C 语言!=