![]() |
1
6
文件系统层次结构是必需的。A::B::C将始终位于A/B/C.PM,位于@in c.的某个位置。 如果你 有 要解决这个问题,请阅读 perldoc -f require ,特别是在@inc.中查找有关子程序引用的部分。是的,如果这是您真正想要的,您可以让模块加载程序做一些奇怪的事情;但是这不是您想要的,相信我。就像其他99.9999999%的Perl应用程序一样,只需遵守约定即可。 |
![]() |
2
3
如果要“使用”模块,则必须符合结构。如果您想绕过这个问题,可以“需要”模块,而不是将文件名传递给require。 不过,你真的不应该这样做。如果你真的不想有目录结构,把它从模块名中去掉(尽管如果你有一个模块名与CPAN中更通用的模块名冲突的话,将来可能会导致问题)。只需通过find::bin将scripts目录添加到inc路径,然后直接使用模块:
高温高压 |
![]() |
3
2
下面是一个模块的示例,它的子模块位于同一个文件中:
在程序中,如果使用模块 福 (有.pm文件的那个):
您可以访问 酒吧:酒吧 函数,只作为规范名称(foo::bar::from_foo_bar)除外。您可以这样导入它们:
请注意,您不能这样做:
因为没有文件 福奥/ Bar.pm . |
![]() |
4
0
“use”命令中的包名称实际上只是以.pm文件结尾的路径,因此您不需要每个包的名称都是文件夹。在您的示例中,您需要文件夹:
但您不需要文件夹:
.pm文件中的实际包名称不必与加载它的“use”命令中的名称相同。但是保持路径与包名称一致始终是一个好主意。 |
![]() |
DaveP · sklearn包找不到模块 7 年前 |
![]() |
Greg. O Hajdu · Java多文件和文件夹层次结构 7 年前 |
![]() |
yearntolearn · R包命名空间 7 年前 |
|
gfmio · TypeScript NPM包的目标体系结构 7 年前 |
![]() |
Qaswed · R指在R CMD检查期间不存在的文件 7 年前 |
![]() |
Fiorelo Odobashi · COTson linux安装 7 年前 |