参考书籍:《Lua设计与实现》作者书籍对应Github:https://github.com/lichuang/Lua-Source-InternalLua版本:5.3.5概述Lua表分为数组和散列表部分,散列表可以存储不能存放在数组部分的数据,唯一的要求是键值不能为nil。// lobject.h typedef struct Table { CommonHeader; lu_byte
转载 2024-04-28 14:40:09
132阅读
2020年11月27日lua版本:5.4.0 Win64 LUA语法注释变量声明赋值语句运算符算数运算符比较运算符连接运算符数据类型简单Table示例简单语法if语法for语法 (支持break)while语法repeat语法(类似c#do..while)元表__index是table__index是方法 注释--单行注释 --[[ 多行注释 ]]变量声明--全局变量声明 --单变量 Sa
转载 2024-02-14 15:09:18
571阅读
关在Lucene中,如何完成一个搜索的过程,用过Lucene的朋友都会经常用到如下的一段代码: Java代码 复制代码 收藏代码 1.Query query=parser.parse(searchText);//解析构建query树 2. TopDocs td=search.search(query, 100);//检索的入口,限制返回结果集100
转载 2024-05-31 11:52:53
63阅读
1.Lua相关介绍1.什么是Lua语言 Lua是一种轻量小巧的脚本语言,用标准的C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 2.Lua特性 轻量级,可扩展2.基础语法注释 单行注释-- 多行注释 --[[内容]]-- 变量 默认是全局变量,可以访问没有赋值的全局变量 例如:a = 100 删除一个变量可以将其设置为nil3.
转载 2024-02-15 16:13:03
147阅读
关键代码 function实现function yiyz_Main() SN = gg.choice({ "zz人物功能", "zz干架功能", "zz常用功能", "zz稳定功能", "退出脚本", }, nil,"zz免费脚本1.0,北京时间:"..sj) if SN == 1 then A() end if SN == 2 then B
转载 2024-04-16 14:16:48
105阅读
赋值赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许“多重赋值”,也就是一下子将多个值赋予多个变量,例如以下代码: local x1, x2 = 2, 4 print(x1) -->2 print(x2) --&gt
转载 2024-03-26 21:31:38
70阅读
当一个函数内部嵌套另一个函数定义时,内部的函数体可以访问外部的函数的局部变量,这种特征我们称作词法定界。虽然这看起来很清楚,事实并非如此,词法定界加上第一类函数在编程语言里是一个功能强大的概念,很少语言提供这种支持。下面看一个简单的例子,假定有一个学生姓名的列表和一个学生名和成绩对应的表;现在想根据学生的成绩从高到低对学生进行排序,可以这样做:    names = {"Peter"
转载 9月前
24阅读
翻译自《Lua Programming Gems》Chapter 2:Lua Performance Tips:Basic fact By Roberto Ierusalimschy编写高效Lua代码的方法减少,重用,回收(Reduce, Reuse, Recycle) 当处理Lua资源时,我们应当遵守跟利用地球资源一样的3R's原则。     减少是最
lua代码解析 源代码版本:lua-5.2.0 一、概览 1、lua脚本中暴露的库相关 lbaselib.c - 基础函数库(方便使用lua内部的功能) lbitlib.c - 位运算库 lcorolib.c - 协程库 lstrlib.c - 字符串库,提供通用字符串处理功能 lstring.c - 字符串表(保存所有由Lua操作的字符串集合) lma
转载 2024-07-17 18:51:59
59阅读
上节说了Lua书写的一些细节,这次就来具体地将这些细节整理出来。一、代码书写规则        1.代码注释                  单行注释:--注释内容              &nb
上节说到表达式的解析问题,exprstate函数用于解析普通的赋值表达式。lua语言支持多变量赋值。本文先从单变量赋值表达式讲起。a = 1 b = 2 c = a + b对于简单的两个数的求和过程,lua源码是如何解析的呢?首先,当词法分析获取到第一个token为‘a’的类型是TK_NAME(285),然后是chunk函数,statment函数,走到exprstate函数:static void
转载 2024-03-20 16:54:53
94阅读
最近沉迷lua脚本热更,想说这个可以提高多少菜鸡的调试效率,找了网上好多文章,但是都不行,尝试了很久,并且自己测试和学习,写了一遍,勉强能热更了。下面记录一下热更Lua的过程。 一、用来卸载表格的加载最简单粗暴的热更新就是将package.loaded[modelname]的值置为nil,强制重新加载: function 这样做虽然能完成热更,但问题是已经引用了该模块的地方不会得到
目录一、实战篇 - 注册方式实现函数扩展二、实战篇 - 编写标准的扩展库三、实战篇 - 动态库加载方式实现四、实战篇 - 编译Lua的动态库liblua.soLua的扩展库编写有三种方式:注册方式:在主体语言里面编写扩展函数,然后通过lua_register方式,注册到Lua全局注册表中扩展库编写:按照Lua语言本身的扩展库设计方式进行编写动态库加载方式:将扩展库编译成.so的动态库,Lua语言中
转载 2024-03-18 13:57:45
80阅读
1、读取请求体中参数 1 local request_method = ngx.var.request_method 2 local args 3 --获取参数的值 4 if "GET" == request_method then 5 args = ngx.req.get_uri_args() 6 elseif "POST" == request_method then 7
转载 2024-03-01 21:08:34
970阅读
Lua注解@class类声明注解 EmmyLua利用 @class 注解来模拟面向对象中的类,可以继承,可以定义字段/属性完整格式:--@class MY_TYPE[:PARENT_TYPE] [@comment]应用目标:local 变量global 变量示例:---@class Car : Transport @define class Car extends Transport local
先来看lua中值的表示方式。  1. #define TValuefields Value value; int 2. 3. typedef struct lua_TValue { 4. TValuefields; 5. } TValue; 其中tt表示类型,value也就是lua中对象的表示。  1. typedef union { 2. G
转载 2024-05-24 10:46:17
74阅读
Lua程序设计————Lua语言入门1.程序段Lua语言执行的每一段代码称为一个程序段,即一组命令或表达式组成的序列。其中一段代码可以是在一个*.lua文件中的代码,也可以是交互模式下的一行代码。2.词法规范Lua语言中的标识符是由任意字母,数字和下划线组成的字符串(不能以数字开头)。Lua语言的早期版本中,“字母”的概念与操作系统的区域设置有关,可能导致同一程序在其他区域无法正常运行,所以这里的
转载 2024-03-19 21:12:10
31阅读
上节说到表达式的解析问题,exprstate函数用于解析普通的赋值表达式。lua语言支持多变量赋值。本文先从单变量赋值表达式讲起。 a = 1 b = 2 c = a + b 对于简单的两个数的求和过程,lua源码是如何解析的呢?首先,当词法分析获取到第一个token为‘a’的类型是TK_NAME(285),然后是chunk函数,statment函数,走到exprstate函数: stati
转载 2024-04-18 15:30:22
87阅读
文章目录Lua 作为数据描述语言使用马尔可夫链算法 我们看两个完整的例子来阐明 Lua 语言的使用。 第一个例子来自于 Lua 网站,他展示了 Lua 作为数据描述语言的使用。 第二个例子讲解了马尔可夫链算法的实现,这个算法在 Kernighan & Pike 著作的 Practice of Programming 书中也有描述。这两个完整的例子之后,Lua 语言方面的介绍便到此结
转载 2024-03-17 18:19:03
81阅读
代码也有风格?当然,写代码就跟写文章一样,每个人或多或少都有自己的风格。不同的语言也就像不同的文体一样,也有自己的独特的风格。Lua是一门脚本语言,写起来轻松惬意,但不代表它没有属于自己的风格指南。好的代码风格基于可读性和一致性。代码更多的时间是给人看的,如果思考好了结构和逻辑,写代码的过程其实很快。风格的一致性也很重要,这样可以减少复杂度和理解成本。养成一种良好的代码风格会形成一种良好写代码
转载 2024-07-20 16:01:43
42阅读
  • 1
  • 2
  • 3
  • 4
  • 5