问题标签 [coercion]
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.
c++ - 当作为函数模板的 T* 参数传递时,使用运算符 T* 强制模板类
假设我有一个这样的函数模板:
然后在另一个.h
文件中,我有一个模板类Foo
,它具有:
现在,我意识到这些是不同的 T。但是如果我Foo<Bar> f
在堆栈上有一个变量,将它强制为任何类型的指针的唯一方法就是调用operator T*()
. 然而,如果 call doStuff(f)
,GCC 会抱怨doStuff
不能Foo<Bar>
自动使用运算符T*()
强制转换Bar*
,然后使用Bar
as专门化函数模板T
。
我可以做些什么来使用两个模板来完成这项工作吗?或者模板函数的参数必须是真正的指针类型,还是带有强制运算符的模板类被传递给非模板函数?
javascript - JavaScript 如何处理 ++ 运算符?
JavaScript 使用对象进行时髦的自动转换:
将打印:
这是因为 +,如果任何参数是对象/字符串,将尝试将所有参数转换为字符串,然后将它们连接起来。如果所有参数都是数字,则将它们加在一起。* 和 unary + 使用 toString(以及 valueOf,此处未显示)将对象转换为数字。
JavaScript 对 ++ 运算符有什么作用?
wpf - 如何使 Binding 尊重 DependencyProperty 值强制?
我有一个带有 CoerceValueCallback 的 DependencyProperty 控件。此属性绑定到模型对象上的属性。
当将控件属性设置为导致强制的值时,绑定会将未强制的值推送到模型对象。控件上的属性值被正确强制。
如何让绑定将强制值推送到模型对象?
groovy - 我可以在 groovy 中使用映射强制来模拟具有带参数的构造函数的类吗?
正在测试的 Java 示例类
groovy 测试类
前两个测试编译并运行良好。后一个测试由于异常而无法运行:
在上面第三类的情况下,我还可以使用 groovy map coercion 来模拟类吗?如果是这样,我做错了什么?
apache-flex - CFC 和 Flex 之间的嵌套类强制失败
我有两个 AS3 类,A 和 B。A 类包含一个 ArrayCollection,它将保存 B 类的多个实例。
在 ColdFusion 中,我有匹配的 CFC,具有相同顺序的同名变量,以及每个变量的 cfproperty 标记。
AS3 类都使用 RemoteClass 元数据将它们与对应的 CFC 相关联。
问题是,虽然 A.cfc 从 CF 返回并适当地填充 A.as 实例,但我无法填充任何嵌套的 B.as 实例。相反,我收到此错误:
除了嵌套的 B 实例的集合之外,为什么 A 实例可以正常工作?
flash - Flash AS3:出现此错误:未定义属性的访问 - 需要基本范围帮助 :(
我仍然习惯于 1 帧上所有代码的 AS2 样式,我正在尝试在类文件中编写 AS3 代码,但我遇到了基本包设置的问题。尝试学习 AS3 时,范围问题让我很生气。下面是我的包代码,我没有其他类文件,只是想返回一个简单的trace。
运行以下代码后出现的错误:1120:访问未定义的属性 tc。
主班
子类
python - Python中的强制转换和强制转换有什么区别?
在 Python 文档和邮件列表中,我看到值有时是“强制转换的”,有时是“强制的”。
c++ - 没有类的 C++ 用户定义的转换运算符?
在 C++ 中是否可以定义不是类成员的转换运算符?我知道如何对常规运算符(例如 +)执行此操作,但不适用于转换运算符。
这是我的用例:我使用一个 C 库,它给我一个PA_Unichar *
,其中库将 PA_Unichar 定义为 16 位 int。它实际上是一个以 UTF-16 编码的字符串。我想将其转换为std::string
UTF-8 编码。我已经准备好所有的转换代码并且可以工作了,我只是缺少可以让我编写的语法糖:
(通常在没有临时变量的一行中)。
另外值得注意的是:
我知道这
std::string
没有定义隐式转换char*
,我知道为什么。相同的原因可能适用于此,但这无关紧要。我确实有一个
ustring
, 的子类,std::string
它定义了正确的转换运算符 fromPA_Unichar*
。它可以工作,但这意味着使用ustring
变量而不是std::string
当我将这些字符串与其他库一起使用时需要转换。std::string
所以这没有多大帮助。使用赋值运算符不起作用,因为它们必须是类成员。
那么是否可以在您无法控制的两种类型(在我的情况下为PA_Unichar*
和std::string
)之间定义隐式转换运算符,它们可能是也可能不是类类型?
如果不是什么可能是解决方法?
map - 如何在 Clojure 中将字符的 LazySeq 转换为字符串?
假设我有一个类似java.lang.Character的LazySeq
如何将其转换为字符串?我已经尝试了明显的
但它抛出
我认为是因为 String 构造函数需要一个原始的char[]而不是LazySeq。所以然后我尝试了类似的东西
但它抛出了同样的异常。现在的问题是into-array正在返回java.lang.Character[]而不是原始的char[]。这令人沮丧,因为我实际上像这样生成我的字符序列
基本上我有一个表示 ASCII 字符的整数序列;65 = A 等。你可以看到我明确地使用了原始类型强制函数(char x)。
这意味着我的map函数正在返回一个原始字符,但 Clojure 的map函数总体上正在返回java.lang.Character对象。
python - Python:识别数字字符串?
我尝试了几种方法,我真的只关心性能,而不是正确性。我注意到基于正则表达式的实现比使用类型强制的实现慢 3-4 倍。还有另一种更有效的方法吗?
谢谢!