问题标签 [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 投票
2 回答
179 浏览

haskell - 与 unsafeCoerced 值一起使用时显示返回错误值

我正在尝试使用unsafeCoerceand Int8Word8我发现了一些令人惊讶的行为(无论如何对我来说)。

Word8是一个 8 位无符号数,范围为 0-255。Int8是一个有符号的 8 位数字,范围为 -128..127。

由于它们都是 8 位数字,我认为将一个强制转换为另一个是安全的,并且只返回 8 位值,就好像它是有符号/无符号的一样。

例如,unsafeCoerce (-1 :: Int8) :: Word8我希望得到一个Word8255 的值(因为 -1 在有符号整数中的位表示与无符号整数中的 255 相同)。

但是,当我执行强制时,Word8行为很奇怪:

我不明白怎么show x回到"-1"这里。如果您查看,结果中map show [minBound..maxBound :: Word8]没有可能的值。此外,即使类型没有改变,向数字添加 0 会如何改变行为?奇怪的是,似乎只有类受到影响——我的类返回正确的值。Word8"-1"ShowShowType

最后,代码fromIntegral (-1 :: Int8) :: Word8按预期工作,并返回 255,并与show. 编译器是否/可以将此代码简化为无操作?

请注意,这个问题只是出于对类型在 ghc 中的低级别表示方式的好奇。我实际上并没有在我的代码中使用 unsafeCoerce。

0 投票
1 回答
133 浏览

r - 从 C/C++ 代码访问“自然强制”逻辑

调用unlistorc时,该类型将被提升为能够表示所有内容的最小类型:

如何从 C/C++ 代码访问此逻辑?

我查找了 and 的 C 源代码,c并在and ( )unlist中找到了以下代码:do_c_dfltdo_unlistmain/bind.c

data类型为的变量由似乎定义强制逻辑BindData的例程计算。AnswerType但是,该类型仅BindData在中声明bind.c

那么:R 的一般强制逻辑是导出到任何地方,还是我必须从 复制粘贴代码bind.c?(对不起双关语……)

0 投票
2 回答
11163 浏览

python - 使用 NAN 替换强制转换非数字 numpy 数组

考虑数组

x = np.array(['1', '2', 'a'])

绑定转换为浮点数组会引发异常

numpy 是否提供任何有效的方法来将其强制转换为数字数组,用 NAN 之类的东西替换非数字值?

或者,是否有一个等效于 的有效 numpy 函数np.isnan,但它也测试非数字元素,如字母?

0 投票
1 回答
1622 浏览

python - Python 的字符串和 unicode 强制/魔术函数如何工作?

我正在使用 Python 版本:2.7.3。

在 Python 中,我们使用魔法方法__str____unicode__定义自定义类的行为:strunicode

该行为表明来自__str__and的返回值__unicode__被强制为str或者unicode取决于运行哪个魔术方法。

但是,如果我们这样做:

调用str.mro()unicode.mro()表示两者都是basestring. 但是,__unicode__也允许返回buffer直接继承自object而不继承自的对象basestring

str所以,我的问题是,当和unicode被调用时实际发生了什么?__str____unicode__中使用str和的返回值要求是unicode什么?

0 投票
3 回答
637 浏览

ruby - 除了 .round(1) 之外,还有更好的方法将整数强制转换为 Ruby 中的浮点吗?

正是问题在标题中所说的。我有一对整数,我想将其转换为浮点数,以便可以对其进行浮点数学运算(以获得不错的百分比)。

现在我的代码看起来像这样。

有人请告诉我有一种更好的方法可以将 failure_and_run_count 中的整数强制转换为浮点数。

0 投票
1 回答
383 浏览

multiple-inheritance - Coq 中的致命钻石

我正在尝试创建一个相当直接的类型层次结构。这是一个最小的工作示例:

最后一次强制生成以下警告:

实际上,从R12to R0(or Sortclass) 的强制转换可以采用两种不同的路径。而且我理解为什么 Coq 在一般情况下会不允许这样做。因为……它们中的哪一个会被使用?

但是,在这种情况下,可以证明两条路径的强制转换R1_0 (R12_1 r12)R2_0 (R12_2 r12)完全相同的。但我仍然无法添加以下看似有效的公理:

问题:那么有没有办法让 Coq 相信这是可以的?

0 投票
2 回答
89 浏览

string - 混合(字符和数字)变量的逻辑查询

我不认为这会那么困难,但我已经挣扎了一段时间......我希望这是我所缺少的简单的东西:) 我需要能够在逻辑上查询包含混合字符串的变量的数据框和数字。

实现这一点的最佳方法是什么,以便将明显不等于 1 的字符串报告为 FALSE,而不是 NA?谢谢。

0 投票
1 回答
2911 浏览

actionscript-3 - 1067:将类型为 theplayclass 的值隐式强制转换为不相关的类型 main

我需要帮助,因为我想创建一个显示分数的游戏结束屏幕。但是,有一个错误阻止我将分数从 theplayclass.as 转移到 thegameoverclass.as。有没有办法将值传递给另一个影片剪辑而不会导致任何错误。

我参考了这个网站的源代码:http ://www.emanueleferonato.com/2008/12/17/designing-the-structure-of-a-flash-game-as3-version/

这是错误

C:\Users\xxx\Downloads\Migrate\test\theplayclass.as,第 54 行,第 41 列 1067:将 playclass 类型的值隐式强制转换为不相关的 main 类型。

主文件

游戏类.as

游戏结束类.as

0 投票
1 回答
240 浏览

ocaml - 强制类型缩写记录

为什么我不能在 OCaml 中强制记录类型?像这样的基本类型int工作正常。

下面是一个示例,其中我构建了一个M包含在 module 中的基本模块AM.t是类型的缩写A。只要M.tint,我都能做到A.t' :> M.t。当我将其更改为 时{i : int},编译器会说它不是子类型。我猜这有一个非常具体的原因?

在顶层:

0 投票
1 回答
157 浏览

r - as.Date in for 循环意外执行

as.Date为什么在 for 循环中使用这种(当然是非正统的)会产生意想不到的结果?

我有以下日期向量:

现在当然要以标准日期格式获取它们,我可以使用

但在我的脚本的上下文中,我想使用一个for循环: