Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Module 为什么这个模块只有部分注册功能可用?_Module_Lua - Fatal编程技术网

Module 为什么这个模块只有部分注册功能可用?

Module 为什么这个模块只有部分注册功能可用?,module,lua,Module,Lua,问题是,如果require()it,则只有前两个函数(charbytes和len)可用。其余部分不可用,尽管已定义 我用一个非常简单的脚本对此进行了测试: utf8=需要(“utf8”) 打印(utf8.len,utf8.sub) 它返回:函数:0xsomeaddress nil。为什么会这样?Lua5.3有一个utf8模块,它已经加载了,所以require(“utf8”)实际上对模块没有任何作用。对我来说工作正常。模块代码看起来不错。@Pigger我发现问题在于Lua 5.3单独装运和ut

问题是,如果
require()
it,则只有前两个函数(
charbytes
len
)可用。其余部分不可用,尽管已定义

我用一个非常简单的脚本对此进行了测试:

utf8=需要(“utf8”)
打印(utf8.len,utf8.sub)


它返回:
函数:0xsomeaddress nil
。为什么会这样?

Lua5.3有一个
utf8
模块,它已经加载了,所以
require(“utf8”)
实际上对模块没有任何作用。

对我来说工作正常。模块代码看起来不错。@Pigger我发现问题在于Lua 5.3单独装运和
utf8
模块,基本上
require(“utf8”)
重新加载该模块,而不是我的自定义模块。只需将文件重命名为其他文件,如my_utf8.luaNot“更高优先级”,但“已加载”。如果您“卸载”(或从不首先加载)内置模块,则外部模块将正常工作。require避免多次加载模块。因此它实际上不会重新加载内置模块。它将简单地拒绝加载您的模块,因为utf8已经加载。有关详细信息,请参见Lua参考中的模块部分。