mirror of
https://gitcode.com/JianFeeeee/LuaCangjia_api.git
synced 2026-09-20 00:48:47 +00:00
feat: 实现loadFunction预加载函数能力 + AI辅助编程标识
- 新增 loadFunction/callFunction/unloadFunction 预加载函数 API - 预加载语义:加载文件→顶层执行一次→返回函数存入Lua Registry→可多次调用 - 与管道模式(load/runScript)存储完全解耦:funcs[]+Registry vs pkgs[]+虚拟栈 - 新增错误码 5023/5024/5025 - 新增单元测试:仓颉侧 8 个 + C++ GTest 侧 11 个 - 本机以 Cangjie 1.1.0 实编译并通过功能运行验证 - README/doc 增加 AI 辅助编程标识及预加载函数模式说明
This commit is contained in:
19
README.md
19
README.md
@ -3,9 +3,25 @@
|
||||
[](LICENSE)
|
||||
[](https://www.lua.org/)
|
||||
[](https://cangjie-lang.cn/)
|
||||
[](README.md#ai-%E8%BE%85%E5%8A%A9%E7%BC%96%E7%A8%8B%E6%A0%87%E8%AF%86)
|
||||

|
||||
**v0.2.1版本更新**:新增doString方法,可执行单句lua,更新了文档布局与readme优化了文档布局。
|
||||
**v0.2.1版本更新**:新增doString方法,可执行单句lua,新增loadFunction/callFunction预加载能力(AI辅助),更新了文档布局与readme优化了文档布局。
|
||||
|
||||
---
|
||||
|
||||
## 🤖 AI 辅助编程标识
|
||||
|
||||
> [!IMPORTANT]
|
||||
> 本项目部分代码由 **AI 辅助生成**(包括但不限于:`loadFunction`/`callFunction`/`unloadFunction` 预加载函数能力、相关单元测试与文档)。
|
||||
> AI 生成代码均经过人工审查与实机验证(本仓库在本机以 Cangjie 1.1.0 实编译并通过功能运行验证),但请在使用前自行复核。
|
||||
|
||||
| 模块 | AI 辅助程度 | 说明 |
|
||||
| :--- | :--- | :--- |
|
||||
| `loadFunction`/`callFunction`/`unloadFunction` | 高(AI 主写,人工审查) | 预加载函数能力:加载文件→顶层执行一次→返回函数存入 Registry→可多次调用 |
|
||||
| 单元测试(新增部分) | 中(AI 主写,人工修正) | 预加载相关 GTest / 仓颉单测 |
|
||||
| 文档(新增部分) | 低(AI 起草,人工定稿) | README / api.md 预加载部分 |
|
||||
|
||||
---
|
||||
|
||||
Lua Runner for Cangjie 是一个专为仓颉语言设计的轻量级、高性能 Lua 脚本执行引擎。它通过 C FFI 桥接 C++,提供了稳定且易用的 Lua 虚拟机管理能力。
|
||||
**注:本项目是开发原生鸿蒙应用时产生的副产物,当前版本依然存在局限性与不足,请详细检查后再使用。**。
|
||||
@ -18,6 +34,7 @@ Lua Runner for Cangjie 是一个专为仓颉语言设计的轻量级、高性能
|
||||
|
||||
- **轻量级集成**:基于 Lua 5.4,通过 FFI 直接与仓颉语言交互,性能损耗小。
|
||||
- **栈式管道模式**:支持脚本间基于栈的数据隐式传递,实现类似函数式管道的调用链。
|
||||
- **预加载函数**:提供 `loadFunction`/`callFunction`/`unloadFunction`,预加载一次 Lua 函数到内存(Registry),顶层代码仅执行一次,后续可多次调用,与管道模式互不干扰。
|
||||
- **doString**:直接执行 Lua 代码字符串,无需写入文件。
|
||||
- **I/O 重定向**:可自定义 Lua 标准输入/输出(`print`, `io.read`)的回调函数,支持文件交换目录重定向。
|
||||
- **模块化管理**:提供 `load` 和 `unload` 方法,支持按名称动态加载和卸载 Lua 脚本模块,避免全局污染。
|
||||
|
||||
Reference in New Issue
Block a user