本来打算3天将lua学完,无奈lua语法实在有点难记,所以还是好记性不如烂笔头,记录一下学习内容。 首先介绍一下lua的table,这是一个key-value型映射,可以动态增长。功能十分强大,并且lua只提供这一种容器。这也是为啥经常忘记的原因,因为仔细学起来有很多东西需要思考。 1. table之数组 这里的数组就是最简单的用整数来索
转载
2024-04-25 12:36:10
101阅读
lua中表的实现原理为:按照key的数据类型分成数组部分和散列表部分,数组部分用于存储key值在数组大小范围内的键值对,其余数组部分不能存储的键值对则存储在散列表部分。表的数据结构typedef struct Table {
CommonHeader;
lu_byte flags; /* 第8位为0,则表示alimit为数组的实际大小,否则需重新计算 */
lu_byte lsize
转载
2024-03-20 14:32:36
190阅读
可以通过元表来修改一个值的行为,使其在面对一个非预定义的操作时执行一个指定的操作。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该原表中是否有一个叫__add的字段。 Lua在创
转载
2024-03-25 20:37:01
114阅读
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。举例说明: tempTable = {}
print(tempTable.memberA) --这里试图打印tempTable并不存在的成员memberA 执行结果:nil输出为nil的原因
转载
2024-04-28 20:45:47
41阅读
简单来说就是table.sort的第二个参数支持自定义比较函数,这类似于c++的容器支持自定义比较函数一样,代码如下: local tbTest = {
{1, 3},
{3, 5},
{5, 4},
{2, 3},
}
-- 比较函数
function cmp(a, b)
return a[2] < b[2]
end
-- 通常用法
table.
转载
2024-03-21 19:31:12
34阅读
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。举例说明:tempTable = {} print(tempTable.memberA) --这里试图打印tempTable并不存在的成员
转载
2024-04-19 13:14:29
75阅读
一维数组
array = {"Lua", "Tutorial"}
for i= 0, 2 do
print(array[i])
end
多维数组
array = {}
for i=1,3 do
array[i] = {}
for j=1,3 do
array[i][j] = i*j
end
转载
2024-04-03 00:03:37
129阅读
table在lua中是一个重要的数据结构,使用起来非常灵活,可以用它表示通常的array,map,set等结构。在分析源码之前,先看看table的一些特性。 (1). table是个key-value数组,索引key可以是数字,也可以是字符串。 (2). Key为数字时,默认下表从1开始(c/c++从0开始) (3). table大小可以动态变化 (4). Lua5.2.3中table有7
转载
2024-03-06 15:58:55
28阅读
首先申明下,本文为笔者学习《Python学习手册》的笔记,并加入笔者自己的理解和归纳总结。1. 类的定义class语句创建类对象并将其赋值给变量名,类可以看成是模块中的变量。>>> class Sample:
def setValue(self, val): # self指向类实例
self.val = val
转载
2023-12-23 21:16:22
42阅读
# 实现“hive key val 格式”教程
## 介绍
在Hive中,key val格式是一种常见的数据格式,用于存储键值对数据。本文将教你如何实现“hive key val 格式”。
## 流程图
```mermaid
gantt
title 实现“hive key val 格式”流程图
section 整体流程
学习: 2022-01-01, 2d
编
原创
2024-06-20 06:09:55
41阅读
table类型实现了“关联数组”。“关联数组”是一种具有特殊索引方式的数组。不仅可以通过证书来索引它,还可以使用字符串或其他类型(除了nil)来索引它。table是Lua中主要的数据结构机制(事实也是仅有的),具有强大的功能。基于table可以以一种简单、统一和高效的方式来表示普通数组、符号表、集合、记录、队列和其他数据结构。table的特性:table是一个“关联数组”,数组的索引可以是数字或者
转载
2024-03-20 15:26:29
73阅读
jQuery的属性与样式之.val()jQuery中有一个.val()方法主要是用于处理表单元素的值,比如 input, select 和 textarea。.val()方法.val()无参数,获取匹配的元素集合中第一个元素的当前值.val( value ),设置匹配的元素集合中每个元素的值.val( function ) ,一个用来返回设置值的函数 注意事项:通过.val()处理sel
转载
2023-07-15 17:42:42
50阅读
# 从架构层面杜绝lua中使用未定义的变量标签(空格分隔): lua---lua中有一个很坑的地方:1.就是如果一个变量拼写错误,会自动的认为你定义了一个值为nil的全局变量.2.如果在function中定义一个局部变量,忘记了local,则会默认为是定义成为了一个全局变量.为了防止这种问题,我今天想到一个解决方案.可以达到以下效果:1.在function中使用一个未定义的变量时则报错.2.在fu
转载
2024-08-03 15:03:11
37阅读
元表的作用在于对于两个表之间的操作,改变table的行为。1.设置/获取元表mytable={}mymetatable={}mytable=setmetatable(mytable,mymetatable)将mymetatable设置为mytable的元表。返回值为普通表mymetatable=getmetatable(mytable)获取mytable的元表,返回值为元表2.__index元方法
转载
2024-03-28 13:31:12
87阅读
table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。Lua table 使用关联型数组,你可以用任意类型的值来作数组的索引,但这个值不能是 nil。Lua table 是不固定大小的,你可以根据自己需要进行扩容。Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。 例如string.format表示使用"format
转载
2024-08-22 09:43:02
42阅读
1. 什么是table是Lua里最强大的数据类型,我们可以当成是数组,但是它又和数组有点不一样,建议大家看看Lua的语法教程,因为我对table也没有熟悉到可以给大家解释的程度。 2. 获取table变量helloLua.lua文件添加一个table全局变量:
1. -- helloLua.lua文件
2. myName = "beauty
转载
2024-02-29 11:03:21
243阅读
lua中的变量是没有数据类型的,值有类型。类型有八种nil,number,boolean, string, function, thread, userdata以及table。Lua 中的每个值都可以有一个 元表 。 这个 元表 就是一个普通的 Lua 表,它用于定义原始值在特定操作下的行为。例如,当你对非数字值做加操作时, Lua 会检查该值的元表中的 "__add" 域下的函数。 如果能找到,
转载
2024-02-11 15:04:04
151阅读
# 如何在Redis中存储HashMap
Redis是一种高效的键值数据库,常用于缓存和存储会话数据等多种场景。今天,我将向你展示如何在Redis中存储一个HashMap(散列)。HashMap通常用于存储多个字段和对应值,并且非常适合在Redis中实现。
## 流程概述
在开始之前,我们需要了解整个流程。使用Redis存储HashMap的基本步骤如下表所示:
| 步骤 | 描
原创
2024-08-26 03:35:08
55阅读
# Redis根据key查询val实现流程
## 1. 引言
在使用Redis过程中,经常需要根据key查询val的操作。本文将详细介绍如何利用Redis进行根据key查询val的实现过程,并提供相应的代码示例。
## 2. 实现步骤
下表展示了根据key查询val的实现步骤及每一步所需的操作:
| 步骤 | 操作 |
| ---- | ---- |
| 第一步 | 连接Redis数据库
原创
2023-11-05 11:22:18
61阅读
# 使用 jQuery 遍历 Map 的 Key 和 Value
在这个数字化高速发展的时代,前端开发技能显得尤为重要。今天,我们将会学习如何使用 jQuery 来遍历一个 Map 对象的 Key 和 Value。这对于新手来说,可能会遇到一些挑战,但请放心,随着这篇文章的引导,您将能够轻松掌握这一技能。
## 文章内容大纲
我们将通过以下步骤来完成我们的任务:
| 步骤 | 说明 |
|
原创
2024-08-16 08:41:24
41阅读