问题标签 [name-conflict]

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 投票
2 回答
192 浏览

c# - C# 命名空间:如何遵循标准而不引起恼人的冲突?

我正在开发一个 C# 库(为了这个问题,我们就称它为“Foo”)。它有一些与标准.NET 需求非常相似的需求:例如,它提供一些绘图服务和一些转换服务。

为了熟悉和库的用户能够猜出什么叫什么,我想遵循 .NET 标准,并将库的这些部分命名为 Foo.Drawing 和 Foo.Convert(等等)。但我发现在实际使用中,这会导致疼痛。人们几乎总是有“使用系统;” 在每个文件的顶部,当使用这个库时,他们想要“使用 Foo;” 也是。但是现在他们有两个绘图模块和两个转换模块,并且随之而来的是欢闹。

例如,现在不能只使用 Drawing.Color 作为参数或变量类型,您必须明确拼写 System.Drawing.Color,否则编译器会抱怨 Foo.Drawing 没有 Color 类型。类似地,如果您想使用标准的 Convert.ToInt32,则必须说 System.Convert.ToInt32,即使您已经在使用 System,因为否则它会找到 Foo.Convert 而无法找到 ToInt32。

我明白为什么这一切都是这样,但我还是 C# 社区的新手,所以我不知道哪个是最标准的解决方案:

  1. 保持这种状态,并期望用户在必要时使用完全限定的名称?
  2. 将冲突的模块重命名为其他名称(可能是 Foo.Graphics 而不是 Foo.Drawing,以及 Foo.Conversion 而不是 Foo.Convert)?
  3. 在标准名称(Foo.FDrawing 和 Foo.FConvert)上使用一些前缀?
  4. 还有什么?

来自您更有经验的 C# 大师的任何建议将不胜感激!

0 投票
1 回答
2883 浏览

python - 如何处理我的 antlr 语法和目标语言之间的冲突函数名称

我有一个包含名为 eval 和 round 的函数名称的语法,这些已经是 python 中的函数,当我尝试使用以下方法生成侦听器时:

antlr4 -listener -lib /src/grammar -Dlanguage=Python3 -o /gen -no-visitor /src/grammar/Grammar.g4

我得到以下信息:

错误(134):Grammar.g4:138:0:符号轮与目标语言中生成的代码或运行时错误(134):Grammar.g4:174:0:符号评估与目标语言中生成的代码或运行时错误冲突( 134): Grammar.g4:62:3: symbol eval 与在目标语言或运行时生成的代码冲突 (134): Grammar.g4:134:3: symbol round 与在目标语言或运行时生成的代码冲突

我不能简单地将 eval/round 更改为不同的名称,因为我正在编写不同 dls 的克隆。是否可以在不更改我的语法语言语法的情况下创建命名空间或以另一种方式解决此问题?

0 投票
1 回答
1066 浏览

c++ - 解决在 C++ 中调用同名函数的方法中的冲突

考虑以下用于方阵的(模板化)C++ 结构的精简示例(不需要模板化即可出现问题):

我想实现一个执行矩阵复共轭的方法,使用名称 .conj() 与 <complex> 库中使用的命名系统相一致。但是,我收到以下错误:

编译器似乎无法识别在同名方法内部调用并在结构之前定义的函数conj(double&)。相反,它尝试调用方法conj()。

为什么编译器无法解决此命名冲突,保留命名的解决方案是什么?当然,如果我将方法的名称更改为与 conj 不同的名称,代码将正常编译并运行。

0 投票
2 回答
1783 浏览

c++ - 成员函数与类名冲突

我正在用 wxWidgets 编写一个国际象棋程序。有一次,我有一个 的子类wxGLCanvas,它使用了Move我写的一个类。不幸的是,似乎有一个方法wxWindowBase::Move(),所以我所有的表单语句list<Move> li都不会编译。

有什么好的方法可以解决这个问题吗?我已经尝试过list< ::Move> li,这确实解决了问题,但它很糟糕,我必须在任何地方进行更改。与命名空间冲突不同,使用声明在这里似乎没有帮助。

0 投票
1 回答
262 浏览

javascript - 尝试使用 Tipue Search 4.0 时 jquery 和 jquery 移动版本之间可能存在冲突

我正在尝试在我的网站上启动和运行搜索。现在搜索要么什么都不做,要么微调器无休止地旋转并且没有加载,或者我得到“错误加载页面”。我觉得这可能是由于ajqueryjquery mobile冲突。

jquery.min.js是版本1.11.1 jquery mobile1.4.3

希望你能帮忙!

这是 index.html

这是 search.html (正如它在tipue docs中所说的那样)

0 投票
2 回答
527 浏览

angularjs - 如何使用两个同名的应用程序?

我需要在我的页面上使用同名的 AngularJS 应用程序创建两个范围。原因是我使用的 Wordpress 主题不允许添加到正文标签。而且我无法创建具有角度属性的高级 div,因为主题会自动添加关闭 div。

两个角度范围都在做同样的事情。

这就是我想要的:

当我执行上述操作时,第一个角度范围执行得很好,但第二个似乎被忽略了。我想是因为不允许在同一页面上使用相同名称的两个 ng-apps。

在我的 JS 文件中,我只有“app”和“ctrl”。还有其他方法可以做到这一点吗?

我可以在 js 文件中创建两个 Angular 应用程序,但是我必须复制我的所有代码......对吗?

使用javascript将上述两个指令添加到body标签可能不是最简单/最简单的吗?

0 投票
1 回答
20281 浏览

conflict - 具有多个来源的亚马逊云端分发是否冲突?

我在 2 个网站上有 2 张不同的图片:

如果我创建一个具有 2 个来源的 Amazon Cloudfront 发行版:www.siteA.com然后www.siteB.com我调用uniqueDistributionID.cloudfront.net/avatar.png,那么avatar.png将返回哪个?一进siteA还是一进siteB

为什么&为什么不?

试图了解 Cloudfront 发行版中潜在的冲突。

0 投票
1 回答
467 浏览

r - NBA热图的重新缩放:dplyr相当于plyr功能?

有一个很好的例子,说明如何使用 ggplot2 创建热图 'R; 方式:Rheatmap,提供原始数据和源代码的链接。

使用 ggplot2: ggplot2进行了后续操作,其中列出了 ggplot2 代码。

在关键点,ggplot2 代码使用 reshape2 和 plyr。

我的目标是使用 tidyr 和 dplyr 复制这些计算。

在以下方面具有 tidyr 等价物:

dplyr 相当于这条线是什么?

eipi10 好心建议

但是,看起来重新缩放计算并没有以完全相同的方式发生:

什么不见​​了?

谢谢,马特

0 投票
1 回答
636 浏览

c# - .net 中相同的类名和程序集名

我的项目中有一个MyComponent类,它包含在另一个程序集(MyAssembly)中。此类在我的项目中的许多地方用作各种函数或变量类型的参数,例如

但我想包含一个与我的类同名的程序集,即MyComponent。现在,每当我包含此程序集时,无论何时使用 MyComponent,它都会开始显示错误

“'MyComponent' 是一个'命名空间',但用作'类型'”。

解决它的一种方法是在 MyComponent 变量的所有位置提供参考路径的完整路径,如下所示。

但这需要很多我不想做的代码更改。这个问题还有其他出路吗

PS 错误是“'MyComponent' 是一个 'namespace' 但用作'type'”

0 投票
1 回答
237 浏览

python - How to name instance variables in Python?

I try to stick to the PEP8 coding conventions. I have a package called main. Inside the package there is a module called time, which has a class called Time inside. Now I have a bit of trouble finding a suitable name for my actual instance because time, which would be usually my choice, is already taken by the module and there seems to be a name-clash if I name it this way.

Maybe I also placed the constant in the wrong module, but I thought that it would be better to have my constants at the place where they belong to. This is a constant used in my class Time (and the main module), so I can make sure that I don't mix it up with another constant called STOPPED used for player movement. Unfortunately I get an AttributeError: 'function' object has no attribute 'time'.

What would be the best solution here? Rename the constants to TIME_STOPPED and PLAYER_STOPPED and put them into a constants module? Naming my instance variable my_time or time_ or something like this is not really what I would like to do. What's the Pythonic way?