问题标签 [qualified-name]

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

compiler-construction - ./ 在 Clojure 中(限定符号?)

我目前正在 Clojure 中实现另一种语言(Shen)。

Shen 有一个符号“./”,但在 Clojure 中,这是在评估之前解释的,因此会导致错误。我不需要将这个函数编译为 Clojure 代码的宏中的“./”。

有没有办法忽略这个?我认为它被解释为限定符号但没有名称,因为将其替换为 a/ 或 xyz/ 会导致相同的错误消息。

我当前的宏很简单

但是当我用 Shen 代码调用它时,会发生以下情况:

我希望有人可以帮助我。

提前致谢。

0 投票
1 回答
369 浏览

c++ - 可以使用“std”命名空间来限定 C 函数吗?

当我使用从 C 继承的函数时,例如<cmath>or中的函数<cstdlib>,我应该将它们限定为标准命名空间的一部分std::log,还是应该保留在 C 范围内并将它们用作全局函数?怎么样size_t

0 投票
1 回答
2078 浏览

java - 全称

我需要提取 Java 源代码中存在的所有完全限定名称。谁能指出我正确的方向?我必须将所有限定名称转换为导入说明。更多细节:做 ctl+shift+M 做的事情。并且它必须对用户完全抽象,并且在每次修改源代码后都会询问功能。java 源代码文件是由其他生成器(元语言)生成的,我无法修改生成器。我不能使用 shift+ctrl+M 因为它必须是自动的

0 投票
1 回答
321 浏览

wpf - 命名空间声明中的限定名称

在阅读了 MSDN-XAML NamespacesMSDN-Understanding XAML Namespaces之后,我仍然不明白拥有Qualified Name (QName)的目的。

以下面的命名空间声明为例:

xmlns:x='http://www.w3.org/1999/XSL/Transform'

x是完整 URI(在本例中为 URL)的前缀缩写:http://www.w3.org/1999/XSL/Transform. 然后就是这个 QName,叫做xmlns. mdsn 中 QName 的定义是:

这个包含前缀的完整名称是限定名称 (QName) 的词汇形式:

那应该是什么意思,为什么它在那里,因为 t 语句已经有一个定位器和一个前缀来标识要使用的命名空间及其名称?

0 投票
2 回答
2191 浏览

java - 为什么静态初始化块中不允许有限定的静态最终变量?

情况1

案例2

为什么情况 1会导致编译错误?

0 投票
1 回答
2467 浏览

namespaces - XML 模式中的“form”属性实际上有什么用?

在过去的几天里,我一直在复习我的 XML 模式技能,一整天我都在忙于理解命名空间与模式相关的复杂性。最让我印象深刻的form="qualified|unqualified"是非全局<element><attribute>元素上的属性看似无用。

我的问题是:该form属性是否实际上为 XML 模式/XML 文档增加了表达能力,或者它只是使某些 XML 文档的符号更容易/不同?

我知道,当所有元素都用命名空间限定时,需要符合特定模式的 XML 文档通常更容易编写(文档元素上的一个 xmlns="xyz" 属性就是您所需要的),但这就是全部? 为什么会有人为不合格的非全局元素而烦恼呢?

0 投票
1 回答
3422 浏览

python - Python 中的限定/非限定名称是什么?

在 Python 中:什么是“限定名”或“非限定名”?

我已经看到它提到几次 但没有解释它是什么

0 投票
2 回答
5948 浏览

c++ - “额外资格”错误。标准如何保证?

这个类似的命运多舛的问题 在关闭之前得到了评论和简短的回答,大意是:因为这就是语言的定义方式。在这里,我要求在 C++ 标准中提供如此定义的证据。

gcc 4.8.1 和 clang 3.3 类似,具有默认诊断选项或更严格,会为代码的额外限定显式限定给出错误,例如:

自 v4.1 以来,gcc 已诊断出此类错误。但流行的编译器对这些错误并不一致。MSVC++ 2012(11 月 CTP)给出了一个错误,int ::y;但即使有/Wall,也没有给出任何诊断 int x::i;- 命运多舛的提问者提出的那种情况 - 并且这种差异表明 MS 编译器作者深思熟虑。

标准如何保证这些错误(如果是)?对 C++11 标准的引用就足够了。

答案可能是“他们遵循语法”。在这种情况下,请尝试展示它们如何遵循语法并随意使用标准的语法分类。我有一份副本,将重新阅读以理解解释。

0 投票
2 回答
1155 浏览

c# - 使用 C# 获取 XML 元素的限定名称及其子节点

编辑:

我在这里尝试完成三件事:获取 XmlNode Query,获取 XmlNode QueryId 并获取 a:schemaLocation 的值,但解析后它们最终为 null。如果我从 XML 中删除限定名称,C# 位就可以正常工作。我应该如何重写我的代码?

XML:

C#:

0 投票
0 回答
708 浏览

c++ - 如何缩短 C++ 中的长(合格)标识符?

在 Java 中,我发现使用命名空间非常简单。对于我在源文件中使用的每个限定标识符Ident,我在文件import ns1.ns2.ns2.ns3.ns4.Ident;顶部放置了一个。然后我可以在我的源代码中到处使用(短)非限定名称。该import语句不会引起任何问题,因为它仅适用于记录它的文件。

但是,我不太确定如何以最佳方式摆脱 C++ 中的命名空间限定符。

最明显的解决方案可能是usingandusing namespace语句。然而,这似乎是一个相当糟糕的解决方案,至少在头文件的情况下,因为 using 语句不限于写下它们的单个文件。因此using,在仅由头文件组成的苗条库的情况下,或者在一般头文件的情况下,排除了这种情况。

到目前为止,我使用的另一个选项是为我在类中使用的每个限定名称添加一个对应typedef于类的私有部分的名称。因此,当将此方法与 Java 进行比较时,我基本上将整个 import 语句列表,替换为importwithtypedef并将其放在类声明中。

但是,我不太喜欢这种方法,因为我的类的用户——严格来说——不知道返回值和参数值的类型,因为方法声明中的类型是对应类的私有类型。

好的,现在我们可以typedef公开所有这些东西了。但这可能不是一个好主意,因为我们会多次重新定义每种类型。想想一个 structns1::ns2::ns3::MyStructure和两个 ClassesMyClassAMyClassB. 这两个类都有一个方法,该方法实际上应该将ns1::ns2::ns3::MyStructure. 但是因为每个类都重新定义了它用来摆脱长限定名的类型,所以这两种方法现在采用“不同”类型的参数,比如MyClassA::MyStructureand MyClassB::MyStructure。当我们有第三个类MyClassC使用它的实例MyStructure并且需要用它调用这两个方法时,它变得更加吸引人。这个类应该用类型声明这个实例MyClassA::MyStructureMyClassB::MyStructure还是MyClassC::MyStructure

好吧,我只想知道:摆脱命名空间限定符的最佳做法是什么?