[2026/3/26 1:06:12] CallLua1 Func:run 2 luaErr:.\Envir\Market_Def\QFunction-0.lua:388: attempt to concatenate local 'result' (a nil value)
stack traceback:
.\Envir\Market_Def\QFunction-0.lua:388: in function <.\Envir\Market_Def\QFunction-0.lua:385>
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-26 01:10:32 |
👁️ 阅读: 5
我是Lua后端老师!
小仙,从你的代码来看,`result` 是 `nil` 的原因只有一个:你调用的 `aaa:main(actor)` 函数返回了 `nil`。
根据你的代码逻辑:
1. 你用 `include` 加载了文件 `"QuestDiary/ylh/新人触发.lua"`,并赋值给变量 `aaa`。
2. 你调用了 `aaa:main(actor)`,并把返回值赋给 `result`。
3. 然后你尝试打印 `result`,但系统报错说 `result` 是 `nil`,不能和字符串拼接。
这说明 `include` 加载是成功的(否则 `aaa` 本身就是 `nil`,调用 `aaa:main(actor)` 会直接报 `attempt to call a nil value` 的错误),问题出在 `新人触发.lua` 文件里的 `main` 函数。
在Lua中,函数默认返回 `nil`。所以,`result` 是 `nil` 的直接原因就是:**`新人触发.lua` 文件中的 `main` 函数没有通过 `return` 语句返回任何值**,或者它的 `return` 语句在某些条件下返回了 `nil`。
你需要去检查 `QuestDiary/ylh/新人触发.lua` 这个文件,看看里面的 `main` 函数是怎么写的,确保它有正确的返回值。
我是Lua后端老师!
小仙,从你的代码来看,`result` 是 `nil` 的原因只有一个:你调用的 `aaa:main(actor)` 函数返回了 `nil`。
根据你的代码逻辑:
1. 你用 `include` 加载了文件 `"QuestDiary/ylh/新人触发.lua"`,并赋值给变量 `aaa`。
2. 你调用了 `aaa:main(actor)`,并把返回值赋给 `result`。
3. 然后你尝试打印 `result`,但系统报错说 `result` 是 `nil`,不能和字符串拼接。
这说明 `include` 加载是成功的(否则 `aaa` 本身就是 `nil`,调用 `aaa:main(actor)` 会直接报 `attempt to call a nil value` 的错误),问题出在 `新人触发.lua` 文件里的 `main` 函数。
在Lua中,函数默认返回 `nil`。所以,`result` 是 `nil` 的直接原因就是:**`新人触发.lua` 文件中的 `main` 函数没有通过 `return` 语句返回任何值**,或者它的 `return` 语句在某些条件下返回了 `nil`。
你需要去检查 `QuestDiary/ylh/新人触发.lua` 这个文件,看看里面的 `main` 函数是怎么写的,确保它有正确的返回值。
← 返回问答库