小编let*_*eti的帖子

高阶函数不会解析任何参数

为什么这是非法的:

def foobar() = {}

val option: Option[() => Unit] = Some(foobar)
Run Code Online (Sandbox Code Playgroud)

虽然这是合法的:

def foobar() = {}

val intermediate: () => Unit = foobar

val option: Option[() => Unit] = Some(intermediate)
Run Code Online (Sandbox Code Playgroud)

在第一个示例中,编译器抱怨赋值的右侧是类型Option[Unit]而不是Option[() => Unit].

我怀疑这foobar有待评估而不是作为变量传递Some(),但我不确定.

functional-programming scala higher-order-functions

4
推荐指数
1
解决办法
91
查看次数