本帖最后由 明天自然醒 于 2025-4-24 01:08 编辑
模块源码:结构工厂_精易论坛
# 本模块采用C++开发,速度与效率不会太差
容器
概述:设计了两种基本容器,数组与字典。使用std::variant包装。
容器里面可以放大部分的基本数据类型、自定义数据类型、嵌套数组、嵌套字典。
类似“Python”的list和dict,功能较丰富,为了丰富易语言的基本容器而开发。
列表
1.深拷贝
2.依据路由规则从列表中获取值,类似Json取值
3.预留指定容量的空间
4.基本方法:添加、取值、删除、清空、删除范围、切片、反转、查找指定值、统计次数
5.深度比较
6.JSON序列化与反序列化
字典
1.深拷贝
2.依据路由规则从字典中获取值,类似Json取值
3.预留指定容量的空间
4.基本方法:添加、删除、清空、取值、取所有键
5.深度比较
6.枚举器
7.JSON序列化与反序列化
排序器
通用框架排序所有的自定义数据结构,按内存比较。
怎么排序?
由你指定规则。
规则的格式怎么写?
// 假设这里有一个结构体,第一个参数是人名,第二个参数是年龄,第三个参数是评分
people = [("Alice", 25, 9.2), ("Bob", 20, 6.9), ("Charlie", 30, 15.3)]
如:先按年龄从小到大,再按评分从大到小
那就这样写:年龄,-评分
按排序顺序列出参数,前面带个负号 表示降序
你只需给出表达式列表,类似Python 的lambda 表达式,你给出参数列表即可。
基础排序器
通用框架排序大部分的基础数据结构。
字节型、整数型、短整数型、长整数型、小数型、双精度小数型、文本型、日期时间型、逻辑型
结构解释器
自定义数据类型,按地址的方式,取出第几个参数,或者按参数名取出变量
本模块所有涉及到自定义结构的基本上都需要使用该对象
结构解析器
用作全局变量,解析你定义的自定义数据类型
对象管理器
方便维护本模块所有的对象内存,采用RAII style机制,可以方便地获取和释放本模块的所有对象,并自动释放内存。此对象禁止以参数传递!模块里面需要手动释放内存的对象都可以在这里管理。
|