1、Lua的特性轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。其它特性:
支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存
转载
2024-04-17 11:26:12
87阅读
闭包和upvaluelua构建一个新的函数时, 会创建一个函数对象, 其中包含了函数本身的原型还有函数使用到的外部变量或者常量. 当这个新的函数处于某个函数内部, 我们将这个对象称之为闭包, 它所引用的外部函数的局部变量叫做upvalue.下面是一个例子:function f1(n)
local upvalue = "hello"
local f2 = function()
转载
2024-10-29 21:03:30
11阅读
任何限流都不是漫无目的的,也不是一个开关就可以解决的问题,常用的限流算法有:令牌桶,漏桶。在之前的文章中,也讲到过,但是那是基于单机场景来写。之前文章:接口限流算法:漏桶算法&令牌桶算法然而再牛逼的机器,再优化的设计,对于特殊场景我们也是要特殊处理的。就拿秒杀来说,可能会有百万级别的用户进行抢购,而商品数量远远小于用户数量。如果这些请求都进入队列或者查询缓存,对于最终结果没有任何意义,徒增
转载
2024-10-04 13:30:20
37阅读
Lua 那些坑爹的特性 来源 https://blog.lilydjwg.me/2012/12/29/lua-caveats.36879.html 协程只能在 Lua 代码中使用 协程(coroutine)应该是 Lua 最大的卖点之一了。可是,它有一个在文档中根本没有提到过的弱点:只能在 Lua
转载
2017-10-27 20:45:00
339阅读
1、Lua的特性轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。其它特性:支持面向过程(procedure-oriented)编程和函数式编程(functional programming);自动内存管理;只
转载
2024-03-11 14:27:58
167阅读
###coroutine基础
Lua所支持的协程全称被称作协同式多线程(collaborative multithreading)。Lua为每个coroutine提供一个独立的运行线路。然而和多线程不同的地方就是,coroutine只有在显式调用yield函数后才被挂起,同一时间内只有一个协程正在运行。
Lua将它的协程函数都放进了coroutine这个表里,其中主要的函数如下
摘取一段云风的代
转载
2021-06-09 10:32:17
1972阅读
2评论
3.4 事务与Lua为了保证多条命令组合的原子性,Redis提供了简单的事务功能以及集成Lua脚本来解决这个问题。本节首先简单介绍Redis中事务的使用方法以及它的局限性,之后重点介绍Lua语言的基本使用方法,以及如何将Redis和Lua脚本进行集成,最后给出Redis管理Lua脚本的相关命令。3.4.1 事务熟悉关系型数据库的读者应该对事务比较了解,简单地说,事务表示一组动作,要么全部执行,要么
转载
2023-11-04 21:38:54
61阅读
在Lua中,你可以使用单行注释和多行注释。 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止。相当于C++语言中的"//"。 多行注释中,由"--[["表示注释开始,并且一直延续到"]]"为止。这种注释相当于C语言中的"/**/"。在注释当中,"[["和"]]"是可以嵌套的。 Lu
转载
2018-04-04 22:11:00
136阅读
2评论
为了保证多条命令组合的原子性,Redis提供了简单的事务功能以及集成Lua脚本来解决这个问题,本文介绍Redis事务,Lua在下一篇文章介绍 一、事务概述 简单地说,事务表示一组动作,要么全部执行,要么全部不执行。例如在社交网站上用户A关注了用户B,那么需要在用户A的关注表中加入用户B,并且在用户B的粉丝表中添加用户A,这两个行为要么全部执行,要么全部不执行,否则会出现数据不一致的情况 Re
转载
2024-02-21 21:27:01
10阅读
封装可以隐藏实现细节,使得代码模块化,继承可以扩展已存在的模块,它们目的都是为了:代码重用。而多态是为了实现另一个目的:接口重用。 封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,
转载
2024-04-11 21:24:18
41阅读
和其他具有丰富数据结构的脚本语言不同,LuaJIT 中只有 table 这一个数据结构,并没有区分开数
原创
2022-07-04 20:51:33
355阅读
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、
转载
2023-06-28 19:50:37
66阅读
组图 (水蓝)虽然可能会被延期至秋季发布,但围绕苹果新一代iPhone的各种传言却丝毫没有减少,尤其是台湾媒体《电子时报》更是凭借与苹果供应链的独特关系,为我们披露了不少消息。日前,继过去提前放出新一代iPhone延迟发布的信息之后,《电子时报》又援引供应链人士的消息披露,新一代苹果iPhone将会采用曲
转载
2024-01-18 19:09:46
32阅读
一. TypeScript是js的超集,应用所有js语法二. 特点:1. 优点a. 可以在编译阶段就发现大部分错误,这总比在运行时候出错好
b. 同一目录下不同文件中,使用统一命名,会有命名冲突
c. 不显式的定义类型,也能够自动做出类型推论
d. 即使 TypeScript 编译报错,也可以生成 JavaScript 文件
e. Google 开发的 Angular 就是使用 TypeScri
转载
2023-08-08 01:32:28
54阅读
1、数据库中事务的四大特性(ACID) 1)、 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败进行回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2)、一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说
转载
2023-07-03 14:09:47
53阅读
简介在 Lua table 中我们可以访问对应的key来得到value值,但是却无法对两个 table 进行操作。 因此 Lua 提供了元表(Metatable),允许我们改变table的行为,每个行为关联了对应的元方法。setmetatable(table,metatable): 对指定table设置元表(metatable),如果元表(metatable)中存在__metatable键值,se
转载
2024-04-07 22:51:23
495阅读
协同程序与线程thread差不多,也就是一条执行序列,拥有自己独立的栈、局部变量和命令指针,同时又与其他协同程序共享全局变量和其他大部分东西。从概念上讲线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。也就是说多个协同程序在任意时刻只能运行一个协同程序,只有当正在运行的协同程序显式的要求挂起时,它的执行
转载
2024-04-25 17:45:41
34阅读
简单介绍Lua语言的特性以及语法
基础特性lua中不需要分号作为语句的结束点注释语句-- 单行注释
--[[
注释语句
]]--..操作符可以用于拼接类型,拼接后的结果是string(nil不支持拼接)a = 123 .. 456
-- data type is string
-- data is 123456
print("data type is
转载
2024-03-04 16:56:17
284阅读
Lua学习笔记:04-Lua语法基础(2)1. 循环语句1.1 while 循环1.2 for循环1.2.1 数值for循环1.2.2 泛型for循环1.3 repeat...until 循环1.4 循环嵌套1.5 循环控制语句1.5.1 break 语句1.5.2 goto 语句2. 流程控制2.1 if 语句2.2 if...else 语句2.3 if...elseif...else 语句2
转载
2024-02-28 20:07:30
209阅读
本篇博客介绍Cocos2d-x的动作管理例子,这个例子展示了Cocos2d-x的几个动作:
MoveTo——移动动作,移动到某一个点
MoveBy——移动动作,与MoveTo是类似的,只是MoveBy可以移动到某一个点然后按原路返回,提供reverse方法。
RotateTo——旋转动作,把某一精灵旋