问题标签 [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.

0 投票
1 回答
1084 浏览

haskell - Haskell:如何使用诸如“logBase”之类的数学函数来处理无界整数?

我正在尝试生成一个斐波那契数字列表以与素数列表(例如)进行比较。两个列表都从第一个已知的 fibo/素数开始,到第 10000 个结束。问题是:图形比较(图表)只有在“logBase 2”之类的函数应用于 fibo 数字时才有可能,但“logBase”仅适用于(?)与“浮动”数字。不幸的是,斐波纳奇数变得巨大,所以我认为斐波纳奇数应该是“整数”(无界)。

这会导致转换问题。

示例(Double vs Integer vs Rational):

因此,问题是:如何使用诸如“logBase”之类的数学函数来处理无界整数?一些提示?

0 投票
1 回答
483 浏览

wpf - Silverlight:缺少 DependencyObject.CoerceValue

在 Silverlight 中没有 DependencyObject.CoerceValue。我正在寻找一种替代方法,也可以在 Silverlight 中执行以下 WPF 代码。

情况:有一个类Range,它有几个DependencyProperty:MinimumProperty、MaximumProperty、LowerValueProperty和UpperValueProperty。

最小值可能永远不会大于最大值,最大值永远不会小于最小值。此外,LowerValue 和 UpperValue 必须在最小值和最大值之间,而 LowerValue 总是小于 UpperValue。

所有 DependencyProperties 都是这样实现的(在 WPF 中):

WPF中的强制是这样完成的:

PropertyChangedCallback 看起来像这样:

在这种情况下,ValidateValueCallback 无关紧要。其他回调与显示的代码类似。

在 WPF 中,这运行良好。例如我设置(在 XAML 中)

所有值都是正确的。顺序无所谓!

但是在 Silverlight 中我没有让它运行。

第一步是 CoerceValueCallback 的解决方法。我在 PropertyChangedCallback 中提出强制,如下所示:

如果现在将 Minimum 设置为一个值,CoerceMinimum 仍会执行,并且 Minimum-Coercion 做得很好。

但是最后三行没有编译,因为 DependencyObject 没有 CoerceValue-Method。而这正是我束手无策的位置。

如何在 MinimumChanged 上提高 LowerValue、UpperValue 和 Maximum 的强制?还是有另一种方法来确保初始化的顺序无关紧要并且所有属性都设置正确(假设条件得到满足)?

提前致谢!

0 投票
1 回答
213 浏览

flash - 加载和实例化 SWF 的类型强制错误

我正在加载一个 swf,“ImageEdit”到另一个 swf,“Shell”。我用

但是,我收到一个错误:

TypeError:错误 #1034:类型强制失败:无法将 flash.display::MovieClip@3b678b31 转换为 fl.controls.Slider

ImageEdit 在单独运行且未加载到 Shell 时不会引发错误。我已经添加:

到壳牌和其他没有帮助的东西。两个 SWF 在其库中都包含 Slider 组件。我正在使用 Flash Professional CS5.5。

我怎样才能摆脱强制错误?

0 投票
8 回答
949 浏览

c++ - 是否存在绝对需要 typedef 的情况?

考虑以下安全布尔成语的摘录:

是否可以在没有 typedef 的情况下声明转换函数?以下不编译:

0 投票
1 回答
175 浏览

python - 左侧二元运算符的numpy强制问题

我正在实现一个类似数组的对象,它应该可以与标准的 numpy 数组互操作。我刚刚遇到了一个恼人的问题,它缩小到以下问题:

这会产生以下输出:

显然,不是MyArray().__rmul__( array([1,2,3]) )像我希望的那样调用,而是__rmul__为数组的每个单独元素调用,并将结果包装在一个对象数组中。在我看来,这似乎不符合 python 的强制规则。更重要的是,它使我的左乘法无用。

有人知道解决这个问题的方法吗?

(我认为可以使用它来修复它,__coerce__但链接的文档解释说,不再调用它来响应二元运算符......)

0 投票
1 回答
272 浏览

c# - Silverlight 中的强制功能不起作用

我有一个自定义控件,如下所示:

通用的.xaml

我的控制.cs

TextBox 只是显示值的虚拟对象。

现在,当我将此控件添加到应用程序时,我可以将 Slider 值设置为大于 7,尽管我的 DependencyProperty 的值设置为 7。

我做错了什么?TwoWayBinding 在这种情况下不起作用吗?

提前致谢

0 投票
2 回答
127 浏览

haskell - 在 Haskell 中强制转换为多参数类型

我有一个类型

我的主要问题是:如何在特定变量中定义变量PolyRing

它应该是这样的:

(我认为)问题是: 之后的正确语法是::什么?

我收到错误

另外,我正在寻找一种更好的方法来实现这一点。特别是,我真的希望a从列表元素的类型中推断出类型,而IntegerAsType n必须指定(它不应该取决于列表的长度,即使这是可能的)。

到目前为止我尝试过的事情:

0 投票
2 回答
5107 浏览

list - 为什么在通过 as.character() 将列表强制为字符时会出现这种行为?

在(大部分)回答这个问题的过程中,我偶然发现了一些我觉得我以前真的应该已经看过的东西。假设您有一个列表:

尝试强制l转换为各种类型会返回错误:

然而,我显然被允许强制列出一个字符,我只是没想到会出现这样的结果:

相反,如果我被允许强制列出角色,我会认为我会看到更像这样的行为:

请注意,我指定列表元素的方式最初会影响以下输出as.character

我有两个问题:

  1. 如何as.character从我最初创建的列表中挖掘信息l以便吐出1:3c(1,2,3).
  2. 究竟在什么情况下我想这样做?我什么时候想调用as.character()列表并获取此表单的输出?
0 投票
1 回答
463 浏览

flash - AS3:对许多影片剪辑使用 for/do 循环会引发隐式强制错误

我有以下函数不断运行,以检查玩家控制的球 (mcBall) 和许多墙壁(恰当地命名为 mcWall1、mcWall2 等)之间的碰撞:(var numberofwalls 在每个不同的帧中都有自己的值是不同数量的影片剪辑。)

但是,当我这样做时,编译时出现以下错误:

场景 1,图层“动作”,第 1 帧,第 89 1067 行:将 String 类型的值隐式强制转换为不相关的类型 flash.display:DisplayObject。

第 89 行是这样的:

我的理解是它试图添加一个字符串和一个int,但我不明白为什么它不只是将整数添加到字符串的末尾(例如:mcWall1 where i = 1)。

我不能使用 ("mcWall"[i]),因为我没有设置数组,并且认为我将使用的墙的数量没有必要。在舞台上,每面墙都有一个静态的实例名称,而不是在我的代码中。

关于如何让它测试 mcWall(i) 的任何建议?

提前喝彩。

0 投票
1 回答
1118 浏览

r - 如何编写强制方法

我有一堆定制的参考类,想为其中一些编写强制方法。如果函数调用如下所示,那就太好了:

关键部分在哪里...,因为有时我想为某些强制传递额外的东西(见do.deep = TRUE/FALSE下文。

但是,为了做到这一点,我是否需要实现一种接受to参数的“转换器”,尝试实例化指定类的空对象,to然后调用“常规”方法调度?或者,还有更好的方法?

您将在下面找到我当前的解决方案。它有效,但我“失去”了强制类的选项,character"因为这个类用于处理常规调度程序的事情,并且to = "character会导致无限递归。另外,这是很多开销。

编辑 2011-12-02

当然setAs将是第一个要检查的地址。但是 arg defin指定的函数setAs只能接受一个参数,这对我来说通常太死板了。例如,我看不到如何do.deep = TRUE/FALSE在使用setAs.

类定义

通用方法

中间变压器

强制方法“MyVirtual”到“list”

测试运行