lua是动态类型语言。这表示变量是没有类型的,只有值有。没有类型定义,所有的值有它们自己的类型。
所有的值在lua中都是first-class。这表示所有的值都可以储存在变量中,作为参数传递到方法中,作为结果返回。
lua有8种基本数据类型:nil, boolean, number, string, function, userdata, thread和table。
Nil是值nil的类型,Nil's main property is to be different from any other value;它
时常表示缺少有用的值。Boolean是值true和false的值.nil和false都表示条件否;别的任何值都表示条件是。Number
表示实数(双精度浮点数)。String是字符数组的类型。Lua is 8-bit clean: strings may contain any
8-bit character,including enbedded zeros('\0').
Lua可以调用使用Lua和C编写的函数。
userdata类型可以让任意的C语言数据储存在Lua变量中。这种类型和没有预先在Lua中定义或者操作的内存通信,除了声明和identity test。总之,利用metatables,程序员可以为userdata类型的值定义操作。userdata类型的值不能在Lua中被创建和修改,只有通过C语言的API来进行。这样就保证了主程序的数据的完整性。
thread类型, 独立的执行线程,用来实现coroutines(协同程序?)。不要把Lua线程和操作系统的进程搞混了,Lua即使在那些不支持多进行的操作系统中也支持多线程。
table类型联合arrays实现,也就是说arrays不仅可以被数值数据indexed,其他任何除了nil的数据类型的值都可以。Tables可以是heterogeneous, 也就是说,他们可以包括所有除了nil的值。Lua中的tables有特有的数据结构机制;
他们可以用在普通的数组,symbol tables, 集合,records, graphs, trees等等。用在records,Lua使用field name作为索引。The language supports this representation by providing a.name as syntactic sugar for a["name"].Lua中有很多方便的方式去创建tables.
tables中可以有function。
Tables, function, threads and userdata类型的值是对象:变量并不是实际的储存他们,而是以引用的方式指向他们。
附值,参数传递,返回值都是对引用的操作;这些操作都不依赖于任何形式的拷贝。
分享到:
相关推荐
lua (vc环境)学习笔记(学习代码) lua (vc环境)学习笔记(学习代码) lua (vc环境)学习笔记(学习代码)
lua学习笔记
有其他语言基础学习lua入门是比较快的,主要是学习lua跟其他语言的一些区别,一些特性
Lua的table元表自我学习笔记分享。--lua元表总结 --1、__index的运用 (调用table的一个不存在的索引时,会使用到元表的__index元方法,搜索元表是否也有改索引,__index可以是一个函数也可是一个table。)
自我学习笔记--LUA;python:网络编程等
自己学习lua记得笔记,做任务用的~很基础的东西,想要的拿走,免费
学习笔记,lua学习基础笔记,小知识点,下载嘘谨慎,没有想象中完美
LuaPlus上手指南 Lua脚本语法说明 Lua中文教程 好用的Lua For C++扩展(修订)
LuaLua的简单学习笔记
主要介绍了Lua table类型学习笔记,本文讲解了table的基础知识和table库函数的使用以及面向对象编程实例,需要的朋友可以参考下
简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因 此 redis 被广泛应用于...除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。
在Lua中,表达式包括:数值常量、字符串字面值、变量、单目和双目运算符,函数调用,也包括一些非传统的函数定义和表结构。今天我们就来详细了解下lua中的表达式
Lua脚本语方学习笔记,作为学习lua的参考
为此笔者(游标)通过在网上的找到的一则(共四篇)学习笔记,经过一次次失败,算是初入Lua的大门。 原帖地址:http://www.cnitblog.com/xkz/category/8679.html【向作者表示感谢】 在此将自己根据帖子做的实例发给...
lua,lua文档,vs2008,代码 相关学习笔记
luaplus配置 LuaPlus与C++互用搭建 luaplus学习
主要介绍了Lua中的string库和强大的模式匹配学习笔记,本文着重总结了string库的一些操作方法和函数,需要的朋友可以参考下
nginx+lua开发的学习笔记~~~、希望有所帮助、共同成长~