原始函数到char转换的扩展函数缺少参数类型

他们可以

我知道在堆栈溢出中也有类似的问题。

但是,如果在某些地方可以找到以下简单说明,那就太好了。

val arr1 = Array.tabulate(5)( (_+65) )

编译良好。

val arr2 = Array.tabulate(5)( (_+65).toChar )

是编译时错误。

另外,我想知道如何使用-Ytyper调试如由@ SOM-snytt斯卡拉:缺少参数类型

chengpohi

编译器编译时:

Array.tabulate(5)( (_+65) )

它等于:

Array.tabulate(5)(x => (x + 65 ) )

但对于:

Array.tabulate(5)( (_+65).toChar )

它将扩展为匿名函数:

Array.tabulate(5)( (x => x + 65).toChar )

编译器将失去x函数体内的上下文

您可以scala -Ytyper-debug用来查看详细信息:

类型调试输出:

((x$1) => x$1.$plus(65)).toChar

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

追踪“扩展函数缺少参数类型”

扩展函数参数的类型

缺少用于 reduceLeft 的扩展函数的参数类型

scala:缺少扩展函数的参数类型:匿名函数的参数类型必须是完全已知的

类型转换函数的参数

Scala缺少扩展功能的参数类型匿名函数的参数类型必须是完全已知的。(SLS 8.5)

扩展函数缺少参数类型必须完全了解匿名函数的参数类型。(SLS 8.5)预期类型为:?

函数到指针引用转换

我的函数的扩展函数缺少参数类型;不适用于具有相同签名的其他人

可变参数函数到函数指针

Haskell函数到Clojure函数的转换

Swift 2:从类型的投掷函数到非投掷函数的无效转换

使用可变参数参数将函数转换回原始签名

Couchbase scala observable n1ql 查询结果缺少扩展函数的参数类型 ((x$12) => x$12.rows())

Javascript - 函数,缺少参数

缺少函数的返回类型

在Typescript中使用交叉类型扩展函数参数类型

Nix从函数添加可变参数到集合

从 jQuery 中提取参数到 JavaScript 函数

与参数具有相同原始类型的构造函数

无法清除错误从类型为((_,_,_)throws->()'的抛出函数到非抛出函数类型的无效转换

无效的Hook调用,从函数到类的转换

打字稿:通用函数类型转换所有函数参数

我给传递参数到函数仍然在添加链接列表时仍然给出错误代码缺少参数

C shell 中的错误。不兼容的整数到指针转换将“char”传递给“char **”类型的参数

如何从输入参数到函数的返回类型中导出列名?

汇编 x86 转换为 ARM 函数调用,并带有不同数量的参数到 Arm

磁体模式和匿名函数:缺少参数类型错误

嵌套函数-参数缺少参数