问题标签 [module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
253 浏览

perl - 如果我要在 Perl 中使用纯 OO,是否需要 Exporter?

文档(Exporter 和 perlmodlib)说:

作为一般规则,如果模块尝试面向对象,则不导出任何内容。

但是 perlmodlib 也说:

标准的捆绑模块都应该在命名空间污染方面以明确定义的方式运行,因为它们使用 Exporter 模块。

所以我想知道,如果你去OO并且什么都不导出,你真的需要Exporter吗?如果你不这样做,这是否意味着没有一个标准模块在这个意义上是严格的面向对象的,或者这是否意味着它们EXPORT_OK有些东西,因为如果有人想从你的模块继承,你需要这样做?(这是真的吗?)或者您是否需要 Exporter 才能做到use MyModule; ... = new MyModule

0 投票
4 回答
6197 浏览

python - Python包含,模块范围问题

我正在处理我的第一个重要的 Python 项目,但在范围问题和在包含的文件中执行代码时遇到了麻烦。以前我的经验是使用 PHP。

我想做的是有一个文件来设置许多配置变量,然后将在整个代码中使用这些变量。另外,我想让某些函数和类在全球范围内可用。例如,主文件将包含一个其他文件,该文件将加载一堆常用函数(每个函数都在自己的文件中)和一个配置文件。在这些加载的文件中,我还希望能够访问函数和配置变量。我不想做的是必须将整个例程放在每个(包含)文件的开头以包含所有其余部分。此外,这些包含的文件位于各种子目录中,这使得导入它们变得更加困难(特别是如果我必须在每个文件中重新导入)。

无论如何,我正在寻找有关构建代码以实现我想要的最佳方式的一般建议。

谢谢!

0 投票
3 回答
412 浏览

perl - “本地我们的”是在 mod_perl2 下的对象模块中使用的东西,还是只在脚本中使用?

为了使您的脚本适合 mp2,避免需要任何兼容性包装器等,据说您应该使用“local our”而不是“my”来声明变量。在模块中呢?

是对的吗?或者它应该是“我的”,以便模块的其余部分可以在“使用严格”下获得 $self?

0 投票
2 回答
1286 浏览

java - 如何创建依赖于另一个 JAR 的 JAR?

我正在尝试做一个模块化应用程序,但我遇到了问题,因为我有两个模块,其中一个依赖于另一个。

例如:模块 1 有一个从模块 2 导入类的类。

我在模块 1 的 Manifest.txt 中添加了以下行:

...但是我在创建 jar 时遇到错误,因为我无法解决从模块 2 导入模块 1 中需要的类。尽管有错误,但正在创建 jar。部署项目后,我仍然有同样的错误,说我的类无法解析导入,任何人都知道如何使这项工作。

0 投票
5 回答
127725 浏览

perl - 如何将 CPAN 模块安装到本地目录中?

我正在使用托管的 Linux 机器,所以我没有写入/usr/lib目录的权限。

当我尝试按照通常的方式安装 CPAN 模块时:

该模块被提取到一个blib/lib/文件夹中。我保留use blib/lib/ModuleName了,但编译器仍然说找不到模块。我尝试将 .pm 文件复制到本地目录并保留 require ModuleName,但它仍然给我一些错误。

如何将模块安装到其他目​​录并使用它?

0 投票
8 回答
12510 浏览

perl - 如何创建 Perl 模块?

你如何为 Perl 编写一个模块?在 Python 中,您可以使用:

0 投票
3 回答
943 浏览

python - 获取当前包中所有模块的列表

这就是我想要做的:我想构建一个测试套件,它被组织成包,如 tests.ui、tests.text、tests.fileio 等。在这些包中的每个__init __.py 中,我想制作一个测试套件,包括该包中所有模块中的所有测试。当然,可以使用 unittest.TestLoader 完成所有测试,但似乎我必须单独添加每个模块。所以假设 test.ui 有编辑_窗口_test.py 和预览_窗口_test.py,我希望__init __.py 导入这两个文件并获取两个模块对象的列表。这个想法是我想自动化测试套件的制作,这样我就不会忘记在测试套件中包含一些东西。

最好的方法是什么?看起来这将是一件容易的事情,但我没有找到任何东西。

我正在使用 Python 2.5 顺便说一句。

0 投票
1 回答
1254 浏览

python - python MySQL模块类文件名

我很困惑目录名、文件名和类名是如何一起工作的。

这就是我目前所拥有的

在里面client.py我有一个名为 的类client,它充当数据库模型(MVC)。我的其他文件也一样:staff.py有一个名为的类stafforder.pyorder

然后在app.py我做:

然后我就糊涂了。在一个理想的世界中,这就是我想要做的

  1. 将我的数据库模型类保存在它们自己目录中的单独文件中。

  2. 像这样使用它们:

我能看到的唯一方法是将我的所有类放在一个名为的文件中model.py并将其保存在根目录中。

我确定我在这里遗漏了一些非常基本的东西。

0 投票
9 回答
19545 浏览

visual-c++ - 在 Visual C++ 中链接具有依赖项的库而不获取 LNK4006

我有一组静态编译的库,库之间具有相当深入的运行依赖关系。例如,可执行文件 X 使用库 A 和 B,A 使用库 C,B 使用库 C 和 D:

当我将 X 与 A 和 B 链接时,如果没有将 C 和 D 也添加到库列表中,我不希望出现错误 - A 和 B 在内部使用这些库的事实是 X 不需要的实现细节要知道。此外,当在依赖关系树的任何位置添加新的依赖关系时,任何使用 A 或 B 的程序的项目文件都必须重新配置。对于深度依赖树,所需库的列表可能会变得非常长且难以维护。

因此,我在 A 项目中使用 Librarian 部分的“附加依赖项”设置,添加 C.lib。在 B 的项目的同一部分,我添加了 C.lib 和 D.lib。这样做的效果是图书馆员将 C.lib 捆绑到 A.lib 中,并将 C.lib 和 D.lib 捆绑到 B.lib 中。

但是,当我链接 X 时,A.lib 和 B.lib 都包含它们自己的 C.lib 副本。这导致了大量的警告

A.lib(c.obj) : 警告 LNK4006 "symbol" (_symbol) 已在 B.lib(c.obj) 中定义;第二个定义被忽略。

如何在不收到警告的情况下完成此操作?有没有办法简单地禁用警告,还是有更好的方法?

编辑:我看到不止一个答案表明,由于缺乏更好的选择,我只是禁用了警告。好吧,这是问题的一部分:我什至不知道如何禁用它!

0 投票
8 回答
728 浏览

perl - Perl 分发了哪些模块?

我如何知道 Perl 分发了哪些模块?

我的第一个猜测是这里列出的核心模块总是包含在内,尽管我找不到明确说明。但是,我使用了这个集合之外的模块(例如 LWP),而不必在 Mac OS X 和 Linux 上安装它们。

所以稍微完善一下我的问题:

  • 所有 Perl 安装都分发了哪些模块?

并且:我如何找出分发了哪些模块:

  • Linux(尤其是 Debian/Ubuntu)?

  • Mac OS X?

  • 索拉里斯?

在每种情况下,我都使用最新版本的操作系统标配的 Perl 版本。

TIA。

更新:问题的原因是我正在 Mac OS X 和 Linux 上开发以部署到不同的 Linux 和 Solaris,并且我在其中一些系统上没有 root,对于 Mac OS XI 没有甚至有一个编译器AFAIK。所以我想知道我在所有四个部署中都有哪些模块,而无需进一步安装。