Scala:为什么将`_`用作lambda表达式主体用作函数参数不起作用?

Tyler傲来国主

例如,

scala> val a = Set(Array(1, 2),Array(8, 9))
a: scala.collection.immutable.Set[Array[Int]] = Set(Array(1, 2), Array(8, 9))

scala> a.flatMap(_)
<console>:9: error: missing parameter type for expanded function ((x$1) => a.flatMap(x$1))
              a.flatMap(_)
                        ^

scala> a.flatMap(x=>x)
res4: scala.collection.immutable.Set[Int] = Set(1, 2, 8, 9)

x=>xlambda函数类型是否有快捷方式

Arpit suthar

看来您正在寻找identity

val a = Set(Array(1, 2) ,Array(8, 9))

a.flatten

a.map(identity).flatten

如果你认同自己的身份

@inline def identity[A](x: A): A = x

因此它的作用与相同x => x,无论返回的结果如何。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将lambda表达式用作动态分派的参数

将引用作为函数参数传递不起作用

为什么在此示例中,将with()用作map()调用中的函数不起作用?

为什么 C++ Lambda 表达式不起作用?

Lambda表达式作为参数用作AsTask()回调

为什么此JSF表达式不起作用?

为什么我的Regex表达式不起作用?

为什么我在函数中的正则表达式在 PHP 中不起作用?

如何将Lambda表达式用作字符串参数C#

为什么这个 lambda 表达式在语句中不起作用,但在方法中起作用?

何时允许将折叠表达式用作模板参数?

将Func表达式用作GroupBy中的参数

当函数用作参数时,try-block 不起作用

在C语言中将#define值用作函数参数-为什么起作用?

表达式不能用作函数

为什么sum()在此dplyr表达式中起作用而Quantile()却不起作用?

为什么删除字符串中非字母字符的正则表达式函数不起作用?

为什么将正则表达式对象分配给“ for”循环之外时不起作用?JavaScript

在未先将其转换为委托或表达式树类型的情况下,无法将lambda表达式用作动态调度的操作的参数

将函数参数用作常量表达式的一部分-gcc vs clang

Lambda表达式在Java 8中不起作用?

Java中的Lambda表达式不起作用

lambda 表达式中的子声明不起作用

为什么我的正则表达式不起作用?[Java] [正则表达式] [空白问题]

即使正则表达式可以,为什么用正则表达式替换也不起作用?

使用Lambda表达式将列表转换为地图不起作用

Scala正则表达式不起作用

为什么此正则表达式在Notepad ++(Windows)中不起作用?

为什么RegExp.escape在我的Ruby表达式中不起作用?