问题标签 [disambiguation]

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 回答
700 浏览

c++ - 如何消除此模板的歧义?

我有一个将大小作为模板参数的类(现场演示):

它有多个用于不同目的的构造函数:

使用这组构造函数,这个指令没有问题:

但是在调用时A<5>("five"),构造函数 2、3、4 和 5 之间存在模棱两可的调用。

所以我的问题是:

  • 为什么构造函数 3 比构造函数 5 更受青睐CASE 1
  • A<SIZE>当使用与模板参数大小相同的静态数组构造对象时,有没有办法消除构造函数 2、3、4、5 的歧义?

感谢您的关注。

0 投票
1 回答
275 浏览

c++ - 如何在 GCC C++ 中消除函数调用的歧义?

我收到以下错误警告:

调用如下:

如何消除呼叫歧义以引用第一个或第二个变体(我认为第二个是正确的)?

更新:

我目前通过将调用替换为以下内容来修复构建:return KFileIconView::KFileView::selectionMode(); 我认为这选择了第一个候选人。如果第一个候选人是错误的,我该如何选择第二个候选人?

0 投票
2 回答
169 浏览

antlr4 - 如何用 ANTLR4 消除文本的歧义,有时是两个标记,有时是第三个?

我对 ANTLR4 语法有疑问。我需要解析包含 6 个 AN 字符的文本。根据文本的上下文,它可以表示: - 6-AN 标识符(航班预订号 - PNR - 看起来像 7B22MS 或 JPN92Y 或类似), - 航空公司代码(两个字母)+ 航班号(四个数字),例如 LH1856。

问题是,如果我创建解析航空公司、号码和 PNR 标识符的词法分析器规则,如下所示:

航空公司:'A'..'Z''A'..'Z';

FlNum : ('0'..'9')('0'..'9')('0'..'9')('0'..'9');

PNR : ('A'..'Z'|'0'..'9')('A'..'Z'|'0'..'9')('A'..'Z'| '0'..'9')('A'..'Z'|'0'..'9')('A'..'Z'|'0'..'9')('A '..'Z'|'0'..'9');

那么 PNR 规则总是获胜并吃掉与其模式匹配的所有令牌。

如果语法的上下文需要它们,我该如何更改它以便解析 Airline 和 FlNum?

0 投票
1 回答
951 浏览

python-3.x - NLTK。Lesk 为相同的输入返回不同的结果

我正在使用 LESK 算法从文本中获取 SynSet。但是我用相同的输入得到不同的结果。是 Lesk 算法“功能”还是我做错了什么?接下来是我正在使用的代码:

在输出我有结果(前 3 个结果来自 2 个不同的启动):

如果有其他(更稳定的)方法来获取同义词集,我将感谢您的帮助。

提前致谢。


已编辑

对于其他示例,这里是我运行了 2 次的完整脚本:

我得到了这些结果(前 4 个生成的同义词集在我运行程序的 2 次每次都写入文件中):

  • Synset('allow.v.04') Synset('boastfully.r.01') Synset('clear.v.11') Synset('code.n.02')

  • Synset('boastfully.r.01') Synset('clear.v.19') Synset('code.n.01') Synset('design.n.04')

解决方案:我有什么问题。重新安装 python 2.7 后,所有问题都消失了。所以,不要将 python 3.x 与 lesk 算法一起使用。

0 投票
1 回答
282 浏览

python-2.7 - Python 2.7:Lesk 算法返回无

我正在创建一个可以消除歧义词的程序,并且我正在使用 nltk。现在,当我上台使用 lesk 算法时,我遇到了一些麻烦。

例如,如果我尝试:

c 将为 None,这意味着算法将返回 none。

我试图用一个单词列表代替句子:即:

甚至是词条列表而不是完整的单词,但它仍然返回 None。

有谁知道这是否是 lesk 的一个功能(当它无法消除返回 None 这个词的歧义时),还是我做错了什么?此外,如果它是一个功能,那么它可以被删除(返回一个单词而不是 None)?

谢谢!

0 投票
3 回答
55 浏览

java - Java 变量可见性

我有以下代码:

当我尝试在 bluej 上编译它时,它说找不到符号 - 变量 w 但由于 if 语句运行,因为 x == 2 不应该 java 假定变量 w 已初始化并且存在?

0 投票
1 回答
61 浏览

range - Xtext 消歧

给定以下语法:

和以下输入:

我认为有两种方法可以解析字符串:作为Range(第一种选择)或作为Group(第二种选择)。当我在生成的 IDE 中尝试此操作并检查 Ecore 模型时,将Range实例化 a。

是什么让 Xtext 决定支持Range?

编辑:具体来说,我想知道为什么Xtext 语法本身并不模棱两可,因为范围'a'..'z'可以被解析为 a GroupofKeyword, Wildcard, Wildcard, Keyword或 a CharacterRangeof Keyword, Keyword

0 投票
2 回答
89 浏览

c++ - N4140 §8.2[dcl.ambig.res]/2 中的注释

§8.2[dcl.ambig.res]/2我们有以下注释(重点是我的):

[ 注意:声明可以通过非函数风格的强制转换、= 表示初始化或 删除参数名称周围的多余括号来明确消除歧义。——尾注]

它不应该在上面插入而不是删除吗?

考虑以下示例:

代码无法编译,因为编译器将声明S s(int(f));视为函数声明。但是如果我们确实在参数名称周围插入括号f,就像S s((int(f)));代码编译并打印 1 一样。

0 投票
0 回答
33 浏览

c# - 类型约束是否影响方法声明消歧?

请考虑以下代码段:

不应该将 T 参数类型限制为在上述泛型声明之间互斥就足以保证明确性吗?为什么在这种情况下编译器不考虑类型约束?有什么我想念的吗?

0 投票
5 回答
280 浏览

c++ - C++ 重载 I/0 操作符:克服歧义

我正在处理一个类,我的类中有 3 个数组,它们都代表相同的数据,但格式不同。我已经重载了<<在我的类之外声明的运算符,它接受一个 const 引用而不是这个类的朋友。

这是我目前拥有的。我希望能够做的是也使用operator<<这个类,但能够区分以不同格式显示相同数据的方式。

我知道你不能这样做:通过添加第二个

第三个

由于这是模棱两可的事实。然而,我希望能够以 3 种不同格式中的任何一种显示它。

是否有任何工作或解决此问题的方法?我希望能够将类对象发送给流运算符,而这些类型的运算符不能接受附加参数,因为它们是二元运算符而不是函数。