因为每一版本的源码可能会有差别,现在基于lua 5.2.1来分析,保持一致性。从虚拟机的大体来看,字符串通过一个结构体存放在global_State里,这个结构stringtable(lstate.h)是:GCObject(lstate.h)的结构是:stringtable结构体的字段含义是:GCObject **hash: GCObject指针的指针,通过Hash值可以指向Hash值存
转载 2024-03-25 08:56:48
61阅读
一、C++中的函数重载机制函数定义时的处理:编译器的函数符号命名机制,C++对代码进行编译时会根据函数名、参数列表(参数类型、数量、顺序)等对函数进行重新命名;函数调用时的处理:(我曾经错误理解为调用时的处理和处理函数定义时类似,通过判断参数类型来得到函数名进行调用,但是这种粗暴的方式会有很多逻辑漏洞,比如未考虑到有默认参数的函数调用,未考虑到编译器自动类型转换的函数调用等)在函数调用时,编译器如
转载 2024-04-11 15:10:11
78阅读
luac.c 是编译器 luac 的入口文件。老规矩,从 main 函数看起,看看这个过程中程序都做了些什么?int main(int argc, char* argv[]) { char* d="luac.out"; /* default output file */ int i; for (i=1; i<argc; i++) { if (argv[i]
转载 2024-03-19 20:33:08
112阅读
     Lua包库为lua提供简易的加载及创建模块的方法,由require、module方法及package表组成  1、module (name [, ···])      功能:建立一个模块。  module的处理流程:       module(name, cb1, cb2, ...)  a
转载 2024-07-18 01:49:59
95阅读
Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn 。What's On In Databend探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。新数据类型:BITMAP Databend 新增对 BITMAP 数据类型的支持。BITMAP 是一种压缩数据结构,可
一、Lua的介绍Lua 语音是由巴西里约热内卢天主教大学 ([Pontifical Catholic University of Rio de janeiro ) 里的一个研究小组与 1993年开发的一种轻量小巧的脚本(弱语言)语言,用标准 C 语音编写,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 作为一种扩展语言,Lua 没有“主”程序的概念:它嵌入在宿主客户端中运
安装好Lua之后就可以进行Lua脚本的编程学习了。1.终端执行lua test.lua就是执行test.lua脚本;2.终端执行lua -i test.lua  执行问test.lua之后就会进入交互模式;3.在交互模式中运行dofile(”test.lua“)就可以运行test.lua.一种常用的编辑模式就是左边开一个调试窗口,启用lua的交互模式用dofile运行程序,另一边开一个编
转载 2024-05-01 15:08:26
198阅读
简介:Lua中,Table是很重要的一个部分,它可以表示很多的数据结构,可以是Array,可以是Map,可以根据自己的需要实现栈,队列等等,使用起来方便分析:Table分为2部分,分别是数组Array和Hash部分。数组部分主要是存储下标从1开始的连续不为空的节点内容,如果是中间断开部分会存到hash部分。Hash部分是存储各种类型的离散数据 对于一个Table初始化的时候,如果是空表,
文章目录一、启动hive1. hive启动的前置条件2. 启动方式一: hive命令3. 方式二:使用jdbc连接hive二、Hive常用交互命令1. hive -help 命令2. hive -e 命令3. hive -f 命令4. 退出hive窗口5. 在hive窗口中执行dfs -ls /;三、Hive语法1.DDL语句1.1 创建数据库1.2 两种方式查询数据库1.3 显示数据库信息1.
转载 2024-06-21 13:47:35
86阅读
背景: redis单机环境下可使用sexNx去实现加锁,通过value值去匹配是否可重入,while循环+随机事件沉默 实现锁等待;但是会产生例如业务可能超过key的过期时间等问题。从而引入redisson集群分布式锁。一、redisson加锁流程图                二、redisson底层原理  (1)加锁机制    咱们来看上面那
转载 2023-06-23 20:45:40
184阅读
一、环境搭建初学lua,首先要做的就是搭建环境首先下载lua,解压。添加环境变量:随后安装ide,我用的vscode,官网下载vscode下载之后安装,lua debug新建lua文件,ctrl+N(或者右上角新建)然后ctrl+s保存文件,开始编译。二、基本语法基础数据类型: 基础数据类型 nil表示无效,在表达式中等于false,可以将一个变量赋值为nil来删掉他booleantrue
转载 2024-02-23 16:01:27
78阅读
--编译与运行Lua外部代码块有三种形式: --loadfile 编译Lua外部代码块,但不会运行代码,将会以函数的形式返回编译结果。 --dofile 直接编译运行Lua外部代码块,并不返回任何结果。Dofile是loadfile 的进一步简化封装。 --load 编译字符串中的代码,而非从文件读取。 --[[--使用“loadfile"函数,调用lua外部脚本]] --[[ local e
转载 2024-03-19 15:46:37
82阅读
在一些应用场景中,分片条件并不存在于SQL,而存在于外部业务逻辑。因此需要提供一种通过在外部业务代码中指定路由配置的一种方式,在ShardingSphere中叫做Hint。如果使用Hint指定了强制分片路由,那么SQL将会无视原有的分片逻辑,直接路由至指定的数据节点操作。HintManager主要使用ThreadLocal管理分片键信息,进行hint强制路由。在代码中向HintManager添加的
转载 2024-05-06 17:18:04
87阅读
一。路由与正则。  1.当函数中需要参数,而不在路由中匹配的时候需要使用default方法:@app.route('/index/<testreg("\d+"):nid>/',defaults={'testname':'lzx'})  2。如果要路由进入严格匹配模式,需要使用关键字段:strict_slashes=True  3.路由匹配:  路由匹配需要导入包:from werkze
Lua文件加载执行字符串最基本是直接用LuaEnv.DoString执行一个字符串,当然,字符串得符合Lua语法 比如:/* C# Code */ using UnityEngine; using System.Collections; using XLua; namespace Tutorial { public class ByString : MonoBehaviour {
转载 2024-03-18 15:43:03
101阅读
function(函数)在Lua中,函数是被看作“第一类值(First class Value)”。函数可以存在变量里。function可以以匿名函数(anonymous function)的方式通过参数传递。thread(线程)在Lua中,最重要的线程是协同程序,它跟线程差不多,拥有自己独立的栈,局部变量和指令指针,可以跟其他协同程序共享全局变量和其他大部分东西。userdata(自定义类型)u
转载 2024-05-04 18:59:33
196阅读
lua有8中基本类型,string(字符串),number(数字),nil(空),userdata(自定义类型),table(表),boolean(布尔),thread(线程),function(函数)。lua的注释        单行注释:--被注释的内容;    &nbsp
加载lua脚本的方法方法一LuaEnv env = new LuaEnv(); env.DoString("require('Welcome')");调用env.DoString(),就可以执行lua语法了,这里建议通过lua中require的方法调用另一个脚本,避免了大量字符串的产生 xlua中使用require时,会默认查找Resources文件夹下的文件,如果查找不到会报错
转载 2024-04-26 09:30:51
84阅读
lua Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。它的主页是 www.lua.org。 Lua最著名的应用是在暴雪公司的网络游戏WOW中。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩
长时间的出差导致都没有时间去学习了,不得不说学习这个事情是需要一个安静跟稳定的环境的。 现在我们继续我们的学习过程,来看一下lua的string库。 首先声明一下Lua 字符串内部用来标识各个组成字节的下标是从 1 开始的,这不同于很多编程语言。string.sub(str, 3, 7) 直接表示从第三个字符开始到第七个字符(含)为止的子串。 接下来我们学习一下库函数:1.string.by
转载 2024-03-22 19:24:13
69阅读
  • 1
  • 2
  • 3
  • 4
  • 5