使用 Fisher-Yates 洗牌算法随机打乱 Lua 数组,说明原地修改和保留原数组的复制版本,并避免随机索引从 0 开始造成的偏差和空值问题。
Lua 面向对象编程:类、self、继承、私有状态和可调用对象
分类于
编程语言
使用 table、函数和元表实现 Lua 面向对象编程,讲解 self 方法、类构造、单继承、多重继承、私有状态、单方法对象和对偶表示。
Lua 元表与元方法:__index、__newindex、运算符和只读表
分类于
编程语言
介绍 Lua 元表和元方法,涵盖 setmetatable、__index、__newindex、算术与比较运算、__tostring、默认值、访问跟踪和只读代理表。
Lua import 与 require 的区别:标准模块加载和框架封装
分类于
编程语言
解释 Lua require 是标准模块加载机制,而 import 通常来自 Cocos2d-x 等框架封装,并比较缓存行为、模块路径、返回值和使用场景。
python Pillow 照片转铅笔素描:灰度、反相、模糊与颜色减淡
分类于
编程语言
使用 python Pillow 将彩色照片转换为铅笔素描效果,依次执行灰度化、图像反相、高斯模糊和颜色减淡混合,并保存黑白结果。
Lua 迭代器与泛型 for:闭包、无状态迭代器和有序遍历
分类于
编程语言
解释 Lua 迭代器函数和泛型 for 协议,分别实现基于闭包的有状态迭代器、无状态迭代器,并讨论表的可预测有序遍历。
Lua 模块与包教程:require、package.path、搜索器和子模块
分类于
编程语言
介绍 Lua 模块和包的实现方式,说明 require、package.loaded、package.path、package.cpath、搜索器、模块返回表及子模块命名规则。
Lua 错误处理教程:loadfile、pcall、xpcall、error 和 assert
分类于
编程语言
系统介绍 Lua 代码加载和错误处理,包括 loadfile、load、pcall、xpcall、error、assert、错误信息及调用栈的使用方法。
树莓派 Ubuntu 搭建 PPTP VPN:旧版配置步骤与安全说明
记录在树莓派 Ubuntu 上安装和配置 PPTP VPN 的旧版流程,包括内网地址、DNS、账户、IP 转发和端口设置;PPTP 已不安全,新部署应选 WireGuard。
Lua 数据文件与序列化:表、循环引用和安全反序列化
分类于
编程语言
介绍 Lua 数据文件的读取和序列化方法,涵盖基本类型、普通表、共享引用与循环引用,并说明 load 执行数据时的输入校验和沙盒安全风险。