问题标签 [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.
ruby - Integer( :foo ) 和 NUM2INT( :foo ) 在 1.8.7 中意外工作
我Integer( param )
在 Ruby 和NUM2INT( param )
本机扩展中使用它作为接受任何可以在我的公共接口中转换为 Integer 的参数的方式。
最近我遇到了 Ruby 1.8 和 1.9 之间的行为差异,其中 1.9 会引发错误,但 1.8 会从Symbol
to Fixnum
(或 C 中的等价物int
)产生不必要的强制:
在 1.9.3 中,我想要的行为:
在 1.8.7 中,我不想要的行为:
这是因为我在发送符号参数而不是整数时在测试中断言了 TypeError,结果我得到了一些 Travis 失败。现在,我已经停止Symbol
在我的测试中使用 s 作为错误参数的示例。但是我可以/应该为 1.8.7 兼容性做更多的事情吗?
ruby-on-rails - Rails 以秒为单位计算两个日期时间之间的差异并转换为整数
我正在尝试将 :total_time 设置为 2 个日期时间项目(:start_time 和 :end_time)之间的差异(以秒为单位)。通过执行以下操作,我可以在视图中获得我想要的值
但现在我需要在控制器中创建 @result 时使用此值填充 :total_time - 我尝试了以下操作:
或专注于其中的主要部分:
但我得到了错误
“AhillsController#finish 中的 TypeError - 无法将字符串转换为精确数字”
:total_time 是一个整数 :start_time 和 :end_time 是日期时间
我对 Rails 还很陌生,如果答案很明显,我很抱歉,并在此先感谢。
r - 为什么 1..99,999 == “1”..“99,999” 在 R 中,但 100,000 != “100,000”?
在控制台中,继续尝试
对于 1 到 99999 的所有值,"1" == 1
, "2" == 2
, ...,99999 == "99999"
是TRUE
。然而,
为什么 R 有这种古怪的行为,这是一个错误吗?例如,检查原子字符向量中的每个元素是否实际上都是数字的解决方法是什么?现在我正在尝试检查是否x == as.numeric(x)
为 each x
,但由于上述问题,在某些数据集上失败了!
java - TypeError:错误#1034:类型强制失败:无法将对象转换为数组
我对将对象、变量或从我的 Red5 Java 服务器应用程序发送到 AS3 脚本的理解有疑问。
我面临的问题是我用Java写下了以下代码:
它调用我的 ActionScript 中的一个方法,该方法调用“say”,其参数称为“params”。到目前为止,一切都很好。
我的 ActionScript 看起来像:
所以它得到了数组,但我不能使用它,它告诉我导致以下错误:
TypeError:错误 #1034:类型强制失败:无法将 Object@123b4a7f1 转换为数组。
那么有人可以告诉我如何“转换”这部分吗?我看到了一些关于序列化的文章,但没有得到问题。
r - 将数据框的两列转换为命名向量
我需要将多行两列data.frame
转换为命名字符向量。我data.frame
会是这样的:
而我真正需要的是:
f# - 使用强制 F# 创建具有自定义类型的“加号”函数
我目前有一个特殊类型,可以是 int 或 float。我想创建一个函数,允许我将其中两个加在一起。(如有必要,将 int 强制为浮点数)我希望函数具有我的特殊类型的返回类型。
这是我到目前为止所拥有的:
不编译。但它看起来与我使用 ML 编程语言所写的相似。
我的plus
函数在 F# 中应该是什么样的?
r - 找到 as.Date 失败/不是标准格式的索引
我有一个日期字符列,我想强制转换为 Date 类:
好的,我对这个错误很熟悉。我有类似的东西""
或90-Smarch-13"
在我的专栏中。问题是head(df$x)
看起来不错,正常 dates 2013-11-04
,所以这不是我的列的全局问题,而是只有几行的问题。
我的问题是:
- 我可以找出有多少行不是这种标准的明确格式吗?
- 我可以找到索引(以检查或删除它们)吗?
我的想法:
- 使用
try
:
for (i in 1:nrow(df)) try(as.Date$x[i]) # very slow, doesn't finish for 1M rows
- 尝试猜测问题使用的是什么
nchar
head(df[nchar(df$x) != 10 & !is.na(df$x), ]$x)
有没有更系统的方法?
actionscript-3 - 如何将子类的实例转换为其超类?
所以我有这个超类网格类,以及名为 GrassTile1、GrassTile2 等的网格类的子类……所有子类的实例都存储在一个数组中。我想如何将子类的实例转换为引用数组的超类?
TypeError:错误 #1034:类型强制失败:无法将 GrassTile1@2905d5f1 转换为 Grid。
我尝试访问 backgroundGrid[i][j].node 和其他我能想到的解决方法,但都失败了。任何想法?
actionscript-3 - 在 ActionScript 3 中提供原始类型转换
在 Java、C++ 等语言中,有能力提供例如一个toInt()
函数,允许您的代码通过语言特性巧妙地转换为给定的原始类型。(在本例中,一个Int
.)
也就是说,如果您声明myObject()
了标准转换函数toInt()
,那么调用 likeInt(myObject)
就可以了。这与您只想完全忘记演员表并完成某事的情况更相关 - someVar:Int = myObject + 3
......对于一个任意示例。
我已经搜索了 AS3 文档并在此之外进行了一些搜索,但似乎在 AS3 中没有这样的功能、接口或其他类似的东西可以轻松访问。有谁知道这样的事情?myObject.toInt()
在任何支持这种铸造功能的语言中,这似乎都是必不可少的知识,而在数学工作中,我对编写部分限定名称的冗长无能为力。
groovy - 带括号的常规类型强制
我是 groovy 和研究类型强制的新手。
添加两个字节时有一些奇怪的操作。据我所知,groovy 将两个字节的加法转换为整数。但如果有括号,它仍然是字节。
我在 groovy 2.1.4 上对其进行了测试,但无法理解其中的区别。
我在这里先向您的帮助表示感谢。