LUA的基础知识

前言

Lua是动态类型语言,变量不要类型定义,只须要为变量赋值。数组

  • 全局变量

全局变量

在默认状况下,变量老是认为是全局的。数据结构

  • 全局变量不须要声明,给一个变量赋值后即建立了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过获得的结果是:nil。
  • 当且仅当一个变量不等于nil时,这个变量即存在。

Lua 数据类型

值能够存储在变量中,做为参数传递或结果返回。
Lua中有8个基本类型分别为:nil、boolean、number、string、userdata、function、thread和table。app

nil    这个最简单,表示一个无效值(在条件表达式中至关于false)。 nil 还有一个"删除"做用
boolean    包含两个值:false和true。
number    表示双精度类型的实浮点数
string    字符串由一对双引号或单引号来表示
function    由 C 或 Lua 编写的函数
userdata    表示任意存储在变量中的C数据结构
thread    表示执行的独立线路,用于执行协同程序
table    Lua 中的表(table)实际上是一个"关联数组"(associative arrays),数组的索引能够是数字或者是字符串。在 Lua 里,table 的建立是经过"构造表达式"来完成,最简单构造表达式是{},用来建立一个空表。
  • 咱们能够使用type函数测试给定变量或者值的类型:
print(type("Hello world"))      --> string
  • boolean(布尔)

boolean 类型只有两个可选值:true(真) 和 false(假),Lua 把 false 和 nil 看做是"假",其余的都为"真":函数

  • string(字符串)
字符串由一对双引号或单引号来表示。
也能够用 2 个方括号 "[[]]" 来表示"一块"字符串
字符串链接使用的是 .. 
使用 # 来计算字符串的长度,放在字符串前面
  • table(表)

在 Lua 里表的默认初始索引通常以 1 开始。测试

local tbl = {"apple", "pear", "orange", "grape"}
for key, val in pairs(tbl) do
    print("Key", key)
end

table 不会固定长度大小,有新数据添加时 table 长度会自动增加,没初始的 table 都是 nil。code

相关文章
相关标签/搜索