Lua 特性

1.轻量级:C语言编写 源码开放,编译后仅100多K,是一种比较好的嵌入式语言;

2.可扩展性:Lua提供易于使用的拓展接口和机制;

3.支持面向过程,自动内存管理;

4.Lua 数据类型:nil,boolean,number,string,userdata,function,table;

5.pairs 和ipairs 区别:

pairs:迭代table,遍历表中所有的KEY,可以返回nil;

ipairs:迭代数组,不能返回nil 遇到nil 则退出;

Lua 元表:使用元表我们可以定义Lua如何计算两个table的相加操作a+b

当Lua试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否有一个叫"__add"的字段,若找到,则调用对应的值。"__add"等即时字段,其对应的值(往往是一个函数或是table)就是"元方法"

_newindex 元方法

__newindex 元方法用来对表更新,__index则用来对表访问 。

当你给表的一个缺少的索引赋值,解释器就会查找__newindex 元方法:如果存在则调用这个函数而不进行赋值操作。

__call 元方法

__call 元方法在 Lua 调用一个值时调用。

__tostring 元方法

__tostring 元方法用于修改表的输出行为

原文地址:https://www.cnblogs.com/DOGame/p/8720378.html

时间: 2024-07-31 23:23:11

Lua 特性的相关文章

lua特性纪要

[局部变量] lua的局部变量通过local进行显示声明, 其作用域仅限于声明它的块block.这里的block分为三种类型: 1.控制结构的执行体 2.函数的执行体 3.chunk 比较容易引起混淆的地方是, 如果在一个文件(也就是一个chunk)里实现了一个class(面向对象的类),并且在这个文件里声明了一个local变量, 那么这个变量是这个class的所有实例共享的.从这个意义上讲, 可以用local变量作为类的静态变量来使用.

Lua 架构 The Lua Architecture

转载自:http://magicpanda.net/2010/10/lua%E6%9E%B6%E6%9E%84%E6%96%87%E6%A1%A3/ Lua架构文档(翻译) 十 102010 前段时间翻译了lua官方关于lua5架构设计的一份文档,现在分享给大家. 注意:所有版权都归lua官方所有,本人仅将其翻译为中文,以方便中文阅读者.翻译中出现任何错误导致的结果,本人不负任何责任. 如果有任何翻译错误,以及意见与建议,请email本人.邮件地址:[email protected]. 转载请注

Mac 下纯lua(一)

Lua 介绍 什么是lua - lua是一种跨平台开发脚本语言. Lua 历史 学校 University of Rio de Janeiro 国家 巴西 作者 Roberto Ierusalimschy,Luiz Henrique Figueiredo Waldemar Celes 小组 计算机图形小组 公司 Petrobas 成长 Data-Entry-Language=>Sol==>Lua Lua 时间线 1993 - 创建 1996 - Dr.Dobbs 的文章发表提及Lua,被世界所

Lua基础语法讲解

Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy.Waldemar Celes 和 Luiz Henrique de Figueiredo所组成并于1993年开发. 设计目的 其设计目的是

Lua1.1 Lua 的参考手册 (三)

(接上篇) --------------------------------------7 一些例子--------------------------------------本段给出一些显示 Lua 特性的例子.它并不打算覆盖完整的语言,只是显示一有趣的使用. -------------------7.1 函数 next 和 nextvar-------------------这个例子显示如何使用函数 next 去遍历一个表的字段:function f (t) -- t is a table 

初识lua

经常看到别人在讨论redis lua,说其如何如何好用,如何如何强大.那么lua到底是什么呢? 接下来,我们对lua进行一个入门级了解. Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组,由Roberto Ierusalimschy.Waldemar

Lua2.4 参考手册(六)

(接上篇)--------------------------------------8 一些例子--------------------------------------本段给出一些显示 Lua 特性的例子.它并不打算覆盖完整的语言,只是显示一有趣的使用. -------------------8.1 数据结构-------------------表是统一的数据结构.它可以实现多种数据类型,像通常的数组,记录,集合,包,和列表.数组不用解释.在 Lua 中,索引通常从 1 开始,但这只是个惯

Nginx入门到实践-Nginx 中间件

第1章 课程前言总览课程,介绍课程学习须知,环境准备,了解课程意义.1-1 课程介绍1-2 学习环境准备 第2章 基础篇讲解Nginx的快速部署安装.模块.基础配置语法.Nginx的日志输出.Nginx默认配置模块.Nginx对于请求的处理,访问控制模块使用,并区别介绍连接限制与请求限制.2-1 什么是Nginx2-2 常见的中间件服务2-3 Nginx优势多路IO复用2-4 Nginx使用Epoll模型的优势介绍2-5 Nginx-CPU亲和2-6 Nginx-sendfile2-7 Ngin

Lua的方法的一些特性--lua和android

学习lua不得不了解其方法或者说语法的特性,比如:多值返回 function maximum (a) local mi = 1 -- maximum index local m = a[mi] -- maximum value for i,val in ipairs(a) do if val > m then mi = i m = val end end return m, mi end print(maximum({8,10,23,12,5})) --> 23 3 可变参数 function