问题标签 [name-collision]
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.
swift - Swift 中的命名空间
我正在编写一个扩展来String
返回它的反转版本:
代码工作正常,但我想调用这个方法reverse
,而不是rev
。如果我这样做,我会收到一个错误,因为方法名称与通用函数冲突reverse
:
有没有办法指定我的意思是reverse
方法体内的泛型函数?
r - 为什么我的 dplyr group_by & summarise 不能正常工作?(名称与 plyr 冲突)
我有一个看起来像这样的数据框:
以此类推。我想通过药物DRUG
和 FED STATUS总结一些关于 AUC、Tmax 和 Cmax 的统计数据FED
。我使用 dplyr。例如:对于 AUC:
但是,输出没有按 DRUG 和 FED 分组。它只给出了一行包含所有未分面的 DRUG 和 FED 的统计信息。
知道为什么吗?我怎样才能让它做正确的事?
python - 在第三方模块中导入的模块之间的名称冲突
假设 mine.py 想要导入 moduleA 和 moduleB,但是 moduleA 和 moduleB 都尝试导入一个名为“moduleC”的模块。这是两个不同的模块,它们都恰好被命名为“moduleC”。当 mine.py 运行时,根据 sys.path 模块A 或模块B 得到正确的“模块C”,另一个得到一个惊喜,随之而来的是混乱。
如果 moduleA 和 moduleB 是由不同的作者编写的,而不是我们,最好不要修改这些模块。mine.py 的作者是否有任何不修改模块A 或模块B 的解决方案?
以下问题询问当您是 moduleA 或 moduleB 的作者时如何解决此问题。
当有同名的本地模块时,如何在 Python 中访问标准库模块?
我的具体情况
我想在 Python 调试器 pdb 下运行一个名为 PyMOL 的程序。不幸的是,PyMOL 有一个它导入的“cmd.py”,它与 pdb 导入的常用 cmd 冲突。
PyMOL 安装的相关部分如下所示:
PyMOL 通过执行__init__.py
. 该文件然后导入cmd
为from pymol import cmd
.
pdb
根据BrenBarn 指出的内容,到目前为止,我可以cmd
通过暂时pymol
从sys.path
. 之后,当 PyMOL 尝试导入它时,cmd
它会崩溃。不知何故,我需要在导入之前但在导入之后cmd
从导入模块搜索中删除 Python 。PyMOL
pdb
最小的例子
初始化.py
命令文件
尝试一下
编辑:上面给出的方法现在似乎有效,但正如 BrenBarn 的回答所述,可能没有解决方案可以使所有第三方代码都像最初要求的问题一样不被修改。这是由于 PyMOL 中的怪癖。
c++ - 成员函数与类名冲突
我正在用 wxWidgets 编写一个国际象棋程序。有一次,我有一个 的子类wxGLCanvas
,它使用了Move
我写的一个类。不幸的是,似乎有一个方法wxWindowBase::Move()
,所以我所有的表单语句list<Move> li
都不会编译。
有什么好的方法可以解决这个问题吗?我已经尝试过list< ::Move> li
,这确实解决了问题,但它很糟糕,我必须在任何地方进行更改。与命名空间冲突不同,使用声明在这里似乎没有帮助。
java - 用于重命名与多个 XSD 编译的 JAXB/XJC 外部绑定
(我已经用谷歌搜索并在这里进行了搜索,但没有找到答案,也许我使用了错误的关键字......)
为了简单起见,我有两个模式:
a.xsd:
b.xsd:
两者都有相同的 targetNamespace和一个名为TFoo的 complexType 。
我有一个外部绑定来将a.xsd的生成类名从TFoo 更改为TFooA:
a-binding.xml:
如果我单独编译a.xsd 则有效:
(看看我是如何得到TFoo A .java的)
但是,如果我尝试一次编译两个模式,我会得到:
我知道TFoo被定义了两次,这就是为什么我有外部绑定来解决冲突。
观察。两种模式都是虚构的,是为了举例说明问题而编写的,真实的(很多)是由第三方提供的,我无法更改它们。
谁能告诉我这是某种 xjc 限制(此处未列出)还是根本不应该工作?或者可能是一个错误?
提前致谢。
c - 使用静态 const 结构来限制 C 中常量的名称冲突有什么问题吗?
例如,如果我要static const struct
在头 ( .h
) 文件中创建这样的层次结构:
然后将使用这样的东西:
我想我有一个两部分的问题:
- 这是否按预期工作?
- 为什么其他人不这样做?
r - 如何避免 R 中的名称冲突:公式、数据和新变量
我正在尝试学习编写可以重复使用的 R 代码,而不会预料到将来会出现问题,特别是由于我在函数中分配数据的名称与传递给函数的数据中的名称冲突。我没有看到任何处理此类事情的最佳实践记录在任何地方。我正在寻找有关如何改进我正在做的事情的建议(或验证我正在做的事情是最佳实践,但这似乎不太可能)。
我正在使用我的 get_name() 来获取数据中未使用的名称;然后我使用 assign() 将结果分配给该名称,以便我可以在更新的公式中使用它;然后我必须再做一次并将 get() 与 weights 参数一起使用。所有这些都是为了避免传入数据/公式可能已经包含我将使用的变量名称的可能性。
编码:
}
python - 如何解决 Python 中的模块名称冲突?
我有一个名为 websocket 的模块。对于这个模块,我想要一些测试,对于这些测试,我pip install
需要适当的模块。问题是安装的模块与我自己的模块具有完全相同的名称。
项目结构:
测试.py:
有没有办法解决这个问题:
- 无需重命名我的模块 (
websocket.py
) - 不会用丑陋的方式污染我的项目
__init__()
- 需要同时在 Python3 和 2 上工作
java - $assertionsDisabled 和 javac 标准合规性
我想知道断言是如何实现的。我发现它javac
使用了一个静态字段$assertionsDisabled
。我很好奇如果$assertionsDisabled
已经使用会发生什么。
我希望javac
使用另一个名称,就像其他自动名称生成的情况一样。然而, ...
这让我想到了一个问题:这个编译器行为标准是否符合标准?编译器是否难以使用其他名称?
javascript - js库设计与命名空间污染
我想创建一个 js 库(用于帮助测试)。我希望这个库向X
数组或对象添加一种新方法。但是有些人可能不希望这种行为,而是更愿意能够选择名称(Y
而不是X
),甚至根本没有新方法,而是像使用它一样X(array).x()
。
有些人使用requireJs,但有些人不使用。那么提供这种新功能的最佳实践是什么?应该如何做到这一点以避免名称冲突并使库易于使用?
有没有办法在不污染命名空间的情况下提供新功能,让用户将其分配给他想要的任何变量?
澄清:
假设我想向打印“hello world”的数组添加一个方法。我可以提供一个全局变量“HelloWorldLibrary”,然后用户可以将它绑定到他想要的任何方法。但这已经将一个名称引入全局命名空间。有什么方法可以避免它还是正确的方法,我应该这样做?