问题标签 [coerce]

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 投票
4 回答
149 浏览

haskell - foldMap 回调中强制的意外行为

此代码编译:

coerce用作包装 in 最终结果的快捷isPrefixOf方式Any

这个类似的代码无法编译(注意缺少.):

错误是:

但我的直觉是它也应该编译。毕竟,我们知道isPrefixOfwill 的参数是Strings,并且结果必须是类型Any。没有歧义。所以String -> String -> Bool应该转换为String -> String -> Any. 为什么它不起作用?

0 投票
0 回答
89 浏览

r - 是否可以使用 rma 对象将 confint() 转换为数据框?

我正在进行元分析(metafor 包),并使用 confint() 函数来获得异质性和相关置信区间的度量。我喜欢 confint() 产生的输出,并希望将其转换为数据框,以便我可以附加其他列,然后导出到 csv。

据我所知,没有办法将 confint 输出强制到 rma 对象上下文中的数据帧。Confint 生成类“confint.rma”的对象,当我尝试使用 as.data.frame 时收到以下错误消息。

as.data.frame.default(min.het) 中的错误:无法将类“confint.rma”强制转换为 data.frame

有没有人尝试过这个?如果是这样,你成功了吗?你是怎么做到的?

0 投票
2 回答
119 浏览

applescript - 如何将 AppleScript URL 对象转换为文本

我在 AppleScript 中有一个 URL 对象,我正在尝试将其转换为文本对象。

无法获取 {class:URL, scheme:http URL, path:"http://apple.com/myfile", host:{class:Internet 地址, DNS form:"apple.com", port:80 的路径,点分十进制形式:“17.253.144.10”}}。

显然,从错误消息中可以看出,URL 对象具有“路径”属性。我的理论是“路径”这个词可能是保留的?我需要以某种方式逃避它吗?

0 投票
1 回答
52 浏览

python - Python:Cerberus 强制字段不为空时

我想允许一个字段为空,但当它不为空时,我希望它是整数并检查范围。我需要将字段强制转换为 int,因为它以字符串形式出现。有没有办法做到这一点?我的方法如下,但这似乎不起作用。我已经做了很多研究,但还没有看到如何在我发现的内容中做到这一点。

样本:

创建验证器时出现错误:

0 投票
1 回答
117 浏览

haskell - 使用复杂类型参数强制记录的问题

我有这个记录:

和这个强制函数

这适用于没有问题的记录值:

但是,如果我定义唯一稍微复杂的记录

并尝试IdentityT像以前一样插入包装器

我得到错误:

在我看来,额外的Identity参数Env'不应该停止coerce工作。为什么coerce在这种情况下会失败?有没有办法让coerce工作?

0 投票
1 回答
61 浏览

wpf - 将 Slider.Value 绑定到属性并将 Value 设置为高于 Slider.Maximum 的值将强制它为最大值,但 ViewModel 将不同步

在我开始解释我的问题之前: 这Slider只是以下问题的一个示例。我在一个自定义控件上工作,它必须像这里的滑块一样做非常相似的事情:

设想:

  • 我已将 a 绑定Slider.Value到我的 ViewModel 属性,名为MyValue.
  • 我已经定义MaximumSliderto 100
  • 现在我将属性设置MyValue200.

问题是什么?

  • Slider 将在内部强制将该值设为 100。
  • 但是该属性MyProperty没有更新。
  • 在我的情况下(我构建的自定义控件),我需要稍后继续使用强制值(100),而不是旧的(200)值。

问题:

我可以在自定义控件中做些什么吗?

例如,我在我的 和 中都尝试过myControl.GetExpression(MyValueProperty).UpdateSource();CoerseValueCallbackPropertyChangedCallback无论我尝试什么,绑定的 ViewModel-property 的设置器永远不会被调用,并且该属性保持不同步。

0 投票
2 回答
59 浏览

haskell - 强制 newtype 时无法推断出正确的类型

我试图用newtypewith来简化我的生活coerce,但是在某些情况下使用它时遇到了一个非常痛苦的问题:

这失败了,因为 Haskell 无法正确推断出类型。

有没有办法强制正确解决这个问题?(没有直接指定应该强制进入什么强制)或者也许还有其他干净的解决方案?(所以答案主要建议强制)

0 投票
1 回答
83 浏览

haskell - Haskell 中的真同构

以下断言是否正确:

  1. 唯一真正的同构,用户可以通过编程方式访问,由 Haskell 类型系统验证,并且 Haskell 编译器是/可以知道的,是:

    • Haskell 数据类型的一
    • 其构造函数所需的类型值的集合
  2. 即使是通用编程也不能产生“真正的”同构,其组合在运行时会产生一个身份(因此staged-sop -在Ocaml中也是如此)

  3. Haskell 本身是唯一产生同构的Coercible,但那些同构仅限于等同构

“真正的同构,用户可以通过编程方式访问,由 Haskell 类型系统验证,并且 Haskell 编译器是/可以知道的”我的意思是一对函数u : a -> b,并且v : b -> aHaskell知道(通过被告知或以其他方式)u.v=id并且v.u=id. 就像它知道(在编译时)如何重写一些代码来进行“折叠融合”,这类似于立即识别并应用它。