`
heyJoe
  • 浏览: 27365 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
社区版块
存档分类
最新评论

[学习笔记]lua学习笔记

阅读更多

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学习笔记.txt

    lua学习笔记

    lua (vc环境)学习笔记(学习代码)

    **lua (VC环境) 学习笔记** 在深入学习lua编程语言并将其应用于Microsoft Visual C++(VC环境)时,我们需要了解几个关键知识点。lua是一种轻量级的脚本语言,设计目标是作为嵌入式语言,使得游戏开发、系统管理、...

    lua基础学习笔记

    有其他语言基础学习lua入门是比较快的,主要是学习lua跟其他语言的一些区别,一些特性

    Lua的table元表自我学习笔记

    Lua的table元表自我学习笔记分享。--lua元表总结 --1、__index的运用 (调用table的一个不存在的索引时,会使用到元表的__index元方法,搜索元表是否也有改索引,__index可以是一个函数也可是一个table。)

    lua (vc环境)学习笔记

    【Lua (VC环境) 学习笔记】 Lua是一种轻量级的、开源的脚本语言,主要用于嵌入式系统和游戏开发。它以其简洁的语法、高效性和易于集成的特点受到广泛欢迎。在VC(Visual C++)环境中使用Lua,可以为C++应用程序提供...

    lua学习笔记

    自己学习lua记得笔记,做任务用的~很基础的东西,想要的拿走,免费

    lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料lua2 我的学习资料

    在深入探讨Lua的知识点之前,我们先明确一下,"lua2 我的学习资料"这个标题和描述并没有提供具体的信息,可能意味着这是个人整理的学习笔记或者是某门课程的教学材料。"课程资源"标签暗示这可能是一个完整的教学体系...

    自我学习笔记--LUA;python:网络编程等

    【标题】中的“自我学习笔记--LUA;python:网络编程等”表明这是一份包含LUA和Python语言,特别是关于网络编程的学习资料。LUA和Python都是编程语言,广泛应用于游戏开发、脚本编写、自动化任务以及网络服务等领域。 ...

    lua基础笔记

    1. ** Lua语法基础 **:Lua的语法简洁明了,易于学习。变量声明不需要指定类型,其数据类型包括数字(浮点数和整数)、字符串、布尔值、表(类似数组或哈希表)、函数以及nil。变量作用域默认为全局,但可以使用...

    Lua学习笔记之表达式

    【Lua学习笔记之表达式】 在Lua编程语言中,表达式是构成程序的基本元素,用于表示计算或逻辑操作。表达式的结果可以是一个值,也可以是一个布尔值,这取决于执行的操作。下面我们将深入探讨Lua中的各种表达式类型...

    Redis学习笔记.pdf

    简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因 此 redis 被广泛应用于...除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。

    cocos2dx-lua 笔记

    《Cocos2d-x Lua 开发笔记》 在游戏开发领域,Cocos2d-x 是一个广泛应用的开源游戏引擎,以其高效、跨平台的特点深受开发者喜爱。而 Lua 语言作为 Cocos2d-x 的主要脚本语言,因其简洁、易学的特性,使得游戏逻辑...

    个人对c++使用lua的一些笔记

    Lua是一种轻量级的嵌入式脚本语言,它的语法简洁且易于学习,而C++则以其强大的性能和灵活性著称。将两者结合可以让我们在C++程序中利用Lua的便利性编写脚本,进行逻辑控制或动态行为。 一、Lua与C++的交互 1. Lua ...

    vs2008_lua文档及代码

    10. **学习笔记的价值**:他人的学习笔记可能包含实践中的经验总结、常见问题的解决方法,对于初学者来说,是一份宝贵的参考资料。 总的来说,这个资源包提供了一个全面的学习路径,涵盖了从基础的Lua语言学习到在...

    CEGUI教程+学习笔记

    学习笔记可能会涵盖如何使用Lua或其他支持的脚本语言与CEGUI交互。 最后,CEGUI具有良好的社区支持和文档资源,这对于初学者来说是非常宝贵的。通过阅读教程和参考文档,你可以解决在实际开发中遇到的问题。 总的...

    Lua table类型学习笔记

    Lua中的table类型是一种非常核心且灵活的数据结构,它不仅可以作为数组使用,还能实现关联数组、哈希表等复杂数据组织形式。以下是对table类型的详细解释: ...学习和熟练掌握table类型对于理解Lua的精髓至关重要。

    Delphi-Lua 实例源码

    为此笔者(游标)通过在网上的找到的一则(共四篇)学习笔记,经过一次次失败,算是初入Lua的大门。 原帖地址:http://www.cnitblog.com/xkz/category/8679.html【向作者表示感谢】 在此将自己根据帖子做的实例发给...

    XLuaS.zip学习笔记

    【XLuaS.zip学习笔记】是一份针对Unity游戏引擎中使用XLua库的教程资料,时间戳为2021年10月1日。这个压缩包包含了一系列与Unity和Lua脚本集成相关的文件和项目配置,对于想要深入理解如何在Unity中利用Lua提升游戏...

Global site tag (gtag.js) - Google Analytics