草庐IT

lua_tonumber

全部标签

Unity VSCode一些插件 以及调试C#和Lua

创建C#控制端项目https://www.freesion.com/article/5288179294/插件CodeSpellChecker可以帮助我们检查单词拼写是否出现错误,检查的规则遵循camelCase(驼峰命名法)。ErrorLensErrorLens是一款把代码检查(错误、警告、语法问题)进行突出显示的插件。ErrorLens通过使诊断更加突出,增强了语言的诊断功能,突出显示了由该语言生成的诊断所在的整行,并在代码行的位置以行方式在线打印了诊断消息。C#,C#Extensions提示C语言代码插件Auto-UsingforC#自动导入并为尚未导入C#文件的引用提供智能感知。Cod

mysql - Lua mysql,需要一种方法来转义数据

我需要一种方法来为lua中的mysql语句转义数据。我习惯于在php中执行类似mysql_real_escape_string()的操作,但在使用mysql的lua中找不到等效项(con:escape()在我使用sqlite3时有效)。我读过准备好的陈述是一种解决方案,但它似乎对我不起作用。我做错了什么?require"luasql.mysql"env=assert(luasql.mysql())con=env:connect("db_name","user","pass","localhost")localstmt=con:prepare([[SELECT*FROM`user`WHE

一文拿捏基于redis的分布式锁、lua、分布式性能提升

1.分布式锁jdk的锁:1、显示锁:Lock2、隐式锁:synchronized使用jdk锁保证线程的安全性要求:要求多个线程必须运行在同一个jvm中但现在的系统基本都是分布式部署的,一个应用会被部署到多台服务器上,synchronized只能控制当前服务器自身的线程安全,并不能跨服务器控制并发安全。所以在分布式环境下要解决线程安全问题就需要使用分布式锁思想:需要在我们分布式应用的外面使用一个第三方组件(可以是数据库、Redis、Zookeeper等)进行全局锁的监控,由这个组件决定什么时候加锁,什么时候释放锁原理:在获取锁的时候插入数据,如何数据可以存储成功那么就获取获取到了锁,如果数据插入

# Lua与C++交互(二)———— 交互

C++调用lua基础调用再来温习一下myName=“beautygirl”C++想要获取myName的值,根据规则,它需要把myName压入栈中,这样lua就能看到;lua从堆栈中获取myName的值,此时栈顶为空;lua拿着myName去全局表中查找与之对应的字符串;全局表找到,并返回"beautygirl";lua把"beautygirl"压入栈中;C++从栈中获取"beautygirl"用代码来实现//创建一个statelua_State*L=luaL_newstate();//重置栈顶索引为了确认让栈顶的索引置为0置0之后,我们入栈的第一个元素的索引就是1lua_settop(L,0)

cocos2dx-lua 使用 luajit 加密 Android工程

前言当前版本:cocos2dx-lua-3.17.2LuaJIT2.1.0-beta2Lua5.1工具环境:VisualStudio2015AndroidStudioArcticFox|2020.3.1Patch4Python2.7.3luaJit加密lua代码,可以提升性能,减小包体,最重要的是防破解。网上有很多教程,但由于时间久远,版本不同,所以并不适用。抛开自己项目版本,盲目按照网上的教程走,结果导致事倍功半,当然这不是教程错误,而是因项目、环境、版本而异。cocos2dxluaJit环境首先查看本地cocos2dxluajit版本,我的cocos2dx版本是3.17.2。所以,在coc

Lua+Redis:分布式锁解决方案分享

介绍当我们涉及到多进程或多节点的分布式系统时,传统的单机锁机制不再足够应对并发控制的需求。这是因为在分布式环境中,多个进程或节点同时访问共享资源,传统锁无法有效地协调这种复杂的并发情况,这就引入了分布式锁,本文将一步一步引导大家使用lua脚本和redis实现分布式锁。理解分布式锁1、什么是分布式锁?分布式锁的是确保在多个进程或多个节点之间对共享资源的访问是有序、互斥和原子的,以避免竞态条件和数据不一致性问题。在多进程或多节点环境中,分布式锁广泛应用于协调共享资源的安全访问。2、Redis作为分布式锁的选择Redis(RemoteDictionaryServer)是一种高性能的开源内存数据库,因

523. 【Lua】类型和值(三)

一、表(Table)当调用函数math.sin时,我们可能认为是“调用了math库中函数sin”;而对于Lua语言来说,其实际含义是“以字符串"sin"为键检索表math”Lua语言中的表本质上是一种辅助数组(associativearray),这种数组不仅可以使用数值作为索引,也可以使用字符串或其他任意类型的值作为索引(nil除外)。使用构造器表达式(constructorexpression)创建表,其最简单的形式是{}:>a={}>k="x">a[k]=10>a[20]="great">a["x"]10>k=20>a[k]great>a["x"]=a["x"]+1>a["x"]11表永远

浅谈如何使用 github.com/yuin/gopher-lua

最近熟悉go项目时,发现项目中有用到github.com/yuin/gopher-lua这个包,之前并没有接触过,特意去看了官方文档和找了些网上的资料,特此记录下。本次介绍计划分为两篇文章,这一次主要介绍github.com/yuin/gopher-lua这个包的介绍以及基础使用,下一边将介绍github.com/yuin/gopher-lua是如何在项目中使用的。如有不对的地方,请不吝赐教,谢谢。文章中的gopher-lua如果没有特别说明,即为:github.com/yuin/gopher-lua。1、gopher-lua基础介绍我们先开看看官方是如何介绍自己的:GopherLuaisaL

【Lua】(一)VSCode 搭建 Lua 开发环境

前言最近在找工作,基本所有的岗位都会问到Lua(甚至拼UI的都要求会Lua),咱能怎么办呢,咱也只能学啊……工欲善其事,必先利其器。第一步,先来把环境配置好吧!当前适用版本:LuaBinaries版本:5.4.2VSCode版本:1.77.3文章最近更新日期:2023.04.24 一、下载LuaBinariesLua官网:TheProgrammingLanguageLua(本文中用不到)在官网找到LuaBinaries的下载链接:LuaBinaries(sourceforge.net),直接下载最新版本 下载完成后解压到对应的文件夹(自定义路径,根据自己习惯来就好)这里我使用的路径是 D:\L

「提效脚本 redis」 使用Lua批量删除key

在redis里面可以使用keysaa*进行匹配所有的key,却没办法直接删除所有匹配的key。所以可以使用lua脚本进行增强。以删除suggest*开头的key为例。eval"localkeys=redis.call('keys','suggest*')for_,keyinipairs(keys)doredis.call('del',key)end"0脚本分析:--删除Redis中所有已有'suggest'前缀的键值对localkeys=redis.call('keys','suggest*')for_,keyinipairs(keys)doredis.call('del',key)end这是