问题标签 [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.
haskell - Haskell *qualified* 导入一组函数
在 Haskell 中,我可以导入一个由其名称或快捷方式名称限定的模块,如下所示:
我也可以只从模块中导入一组精选的函数,或者导入除了精选集以外的所有函数,如下所示:
是否可以像上面的示例一样导入一组特定的函数,import Data.List (sort, intersperse)
但要确保这些函数仍然以合格的方式标识,例如List.sort
and List.intersperse
?
虽然这不起作用,但这是我所要求的精神:
也许
entity-framework - 如何在 EF 6 中限定实体
我的问题是我的网站使用 WebPages、Entity Framework 6.1.3、c# 和 SQL CE 数据库。我的“数据库优先”生成的实体类型之一与 system.TimeZone 类的名称完全相同,但智能感知和 IDE 没有正确拾取/处理名称冲突。
我的问题是如何在代码中完全限定实体名称(使用 EF 6.1.3,实体上下文)以防止名称与系统类发生冲突。
我有一个现有数据库表的 EF 实现。该表被命名为“TimeZones”。实体模型是使用数据库优先方法生成的。
EF 复数规则将表名转换为名为“TimeZone”的实体。
问题是,当我尝试更新我的“TimeZone”实体时,intellisense 认为我正在尝试更新“System.TimeZone”类,因为对我的新 TimeZOne 实例的所有点引用都是对 System.TimeZone 的属性和方法班级。我曾期望看到我的实体模型的 TimeZOne 实体的属性。
我希望能够使用命名空间完全限定我的 TimeZone 实体,或者在我的代码顶部的 using 语句中包含我的模型的命名空间。但是,EF 6.1.3 模型属性为我提供的“命名空间”似乎并不是真正的命名空间。EF 是从现有数据库生成的。
c++ - C++ 声明中的显式限定
当第一个声明被注释掉时,以下命名空间定义无法编译。如果未注释的第一个声明foo
,那么它编译就好了。
标准中的相关部分(§8.3¶1)说:
当 declarator-id 合格时,该声明应引用先前声明的成员
我了解此规则会阻止将名称引入其他名称空间。我想知道是否可以放宽该规则以允许qualified-id引用当前命名空间。
node.js - 在 Node.js 中导入不合格的名称
在 Python 中,我可以将模块中的名称导入为合格的
或不合格
在 Node.js 中,我可以导入为合格的
有没有办法导入不合格的名称?
f# - 可以为区分联合类型设置默认值吗?
我实现了一个可区分的联合类型,用于选择一个函数:
这对我来说看起来不错,但编译器开始查看属于这个 DU 的所有实例,而不是Some
DU 。 None
Option
我不想Some
用Option.Some
和None
替换我的所有代码Option.None
。
有没有办法告诉编译器不合格Some
和None
实际上是Option.Some
和Option.None
?
或者我应该给这些 DU 案例起不同的名字,比如AtLeastOne
和ExactlyZero
python - TypeError 消息使用名称而不是 qualname
我发现以下行为:
我希望错误消息显示所__qualname__
涉及的功能,而不仅仅是__name__
. 在自己编写此类消息时,这也是推荐的做法。
我可以对此做些什么吗(例如启动时的配置)?或者这是一个错误/功能?
显示 qualname 将使调试更容易,尤其是在使用装饰器或 lambda 时。
蟒蛇 3.6.1
python-import - Python 中的合格导入
我正在寻找一种以合格方式从模块中导入某些方法的方法;例如(伪代码),
这可能吗?
这对于管理命名空间很有用,以免污染全局命名空间。此外,该方案在代码的任何部分都清楚地表明了方法/类的来源。我也可以使用import math
,但是实际需要的方法(例如sqrt
)将是隐式的。
c++ - 限定名称的重载解析
考虑这个函数调用:
11.3.1.1.1,第 3 段 [over.call.func] ( N4778 ) 涵盖了这种情况:
在非限定函数调用中,名称不由
->
or.
运算符限定,并且具有更通用的primary-expression 形式。按照函数调用中名称查找的正常规则,在函数调用的上下文中查找名称...
在这里,foo::bar
是一个不合格的名称,因为它没有被->
or.
限定。所以本段适用。现在,短语“在上下文中查找”的含义在 6.4 第 2 段 [basic.lookup] 中进行了解释:
“在表达式的上下文中查找”的名称在找到表达式的范围内被查找为非限定名称。
但是, 是名称查找领域中foo::bar
的限定名称。也就是说,这个组合的段落基本上就是说,限定名是按照非限定名查找规则来查找的。但是,我不认为不合格的名称查找能够递归地进入更窄的范围,即to 。这是缺陷吗?foo::bar
foo
bar
python - 我可以使用 Sphinx 自动模块但在签名中删除模块名称吗?
我有一个mod
带有一些子模块的模块submod
并用于.. automodule:: mod.submod
为其生成文档。
模块中元素(函数、类等)的签名现在显示限定名称,例如mod.submod.my_function(*args, **kwargs)
.
相反,我希望 Sphinx 只显示函数的名称,即签名my_function(*args, **kwargs)
。
我有什么方法可以删除签名中的主要模块和子模块吗?