模块声明Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建一个 table,然后把需要导出的常量、函数放入其中,最后返回这个 table 就行。以下为创建自定义模块 module.lua,文件代码格式如下:– 文件名为 module.lua – 定义一个名为 module 的模块 module = {}– 定义一个常量 module.constant
转载 11月前
82阅读
用PHP实现MVC开发模式的逻辑层和表示层有多种模板引擎可供选择,但是官方引擎SMARTY诞生后,选择就有了变化。它的理念和实现都是相当"前卫"的。本文主要讨论SMARTY之于其他模板引擎的不同特点,简要介绍了该引擎的安装及使用,并用一个小的测试案例对比了SMARTY和PHPLIB template的速度和易用性。一、MVC需要模板MVC最早是在SmallTalk语言的开发过程中总结出的一种设计模
转载 2024-09-23 19:22:57
40阅读
Go使用C的库非常简单,通过cgo这个工具基本上可以说是无缝集成了。下面就演示一下用cgo在Windows下面封装API的过程。注意,请把Go更新到最新一个Weekly版本。首先,在$GOPATH\src(如果不知道$GOPATH是什么,请移步这里看详细信息)下面新建一个文件夹“w32api”,然后在其内新建一个文件“kernel32.go”,内容如下。package w32api // #def
转载 8月前
0阅读
原理插件的基本作用就是生成html文件,原理很简单:将 webpack 中 entry 配置的相关入口 chunk 和 extract-text-webpack-plugin 抽取的 css 样式 插入到该组件提供的 template 或者 templateContent 配置项指定的内容基础上生成一个 html 文件,具体插入方式是将样式 link 插入到 head 元素中, script 插入
转载 2024-06-08 20:07:08
83阅读
一、WEB测试的目的。web测试就是基于B/S框架的软件产品的测试,通俗点来说就是基于web网站的测试。二、WEB功能测试包括哪些方面?功能测试主要包括6大部分:1、链接测试2、表单测试3、搜索测试4、删除测试5、cookies、session测试6、数据库测试 1、链接测试1)测试所有链接是否按照指示那样确实链接到了该链接的页面2)测试所链接的页面是否存在3)测试web应用系统上面有没
参考书籍:《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阅读
关在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阅读
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阅读
关键代码 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阅读
1.Lua相关介绍1.什么是Lua语言 Lua是一种轻量小巧的脚本语言,用标准的C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 2.Lua特性 轻量级,可扩展2.基础语法注释 单行注释-- 多行注释 --[[内容]]-- 变量 默认是全局变量,可以访问没有赋值的全局变量 例如:a = 100 删除一个变量可以将其设置为nil3.
转载 2024-02-15 16:13:03
147阅读
赋值赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许“多重赋值”,也就是一下子将多个值赋予多个变量,例如以下代码: local x1, x2 = 2, 4 print(x1) -->2 print(x2) --&gt
转载 2024-03-26 21:31:38
70阅读
Lua脚本语法说明(增加lua5.1部份特性)  Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。  所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。  在Lua中,一切都是变量,除了关键字。I.  首先是注释  写一个程序,总是少不了注释的。  在Lua中,你可以使用单行注释和多行注释。  单行注释中,连续两个减
最近沉迷lua脚本热更,想说这个可以提高多少菜鸡的调试效率,找了网上好多文章,但是都不行,尝试了很久,并且自己测试和学习,写了一遍,勉强能热更了。下面记录一下热更Lua的过程。 一、用来卸载表格的加载最简单粗暴的热更新就是将package.loaded[modelname]的值置为nil,强制重新加载: function 这样做虽然能完成热更,但问题是已经引用了该模块的地方不会得到
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
974阅读
目录一、实战篇 - 注册方式实现函数扩展二、实战篇 - 编写标准的扩展库三、实战篇 - 动态库加载方式实现四、实战篇 - 编译Lua的动态库liblua.soLua的扩展库编写有三种方式:注册方式:在主体语言里面编写扩展函数,然后通过lua_register方式,注册到Lua全局注册表中扩展库编写:按照Lua语言本身的扩展库设计方式进行编写动态库加载方式:将扩展库编译成.so的动态库,Lua语言中
转载 2024-03-18 13:57:45
80阅读
上节说到表达式的解析问题,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 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
当一个函数内部嵌套另一个函数定义时,内部的函数体可以访问外部的函数的局部变量,这种特征我们称作词法定界。虽然这看起来很清楚,事实并非如此,词法定界加上第一类函数在编程语言里是一个功能强大的概念,很少语言提供这种支持。下面看一个简单的例子,假定有一个学生姓名的列表和一个学生名和成绩对应的表;现在想根据学生的成绩从高到低对学生进行排序,可以这样做:    names = {"Peter"
转载 10月前
24阅读
  • 1
  • 2
  • 3
  • 4
  • 5