gpt4 book ai didi

Scala 空默认闭包?

转载 作者:行者123 更新时间:2023-12-03 23:29:02 26 4
gpt4 key购买 nike

只是一个我似乎无法找到答案的快速问题。

我在 Scala 中有一个方法定义,如下所示:

def execute(goals: List[String],
profiles: List[String] = List(),
loggingCallback: (String) => Unit = { _ => }): Result = {
// method body
loggingCallback("a message")
}

我想知道是否有更好的方法来指定默认的空闭包。问题不在于如何实现日志记录,这只是一个示例。

最佳答案

你的解决方案很好。您可以为 Function1[X, Unit] 引入类型别名。 ;使用 ()根据凯文的回答,并删除不必要的括号。

scala> type Effect[-A] = (A => Unit)
defined type alias Effect

scala> def foo(f: Effect[String] = _ => ()) = ()
foo: (f: (String) => Unit)Unit

你也可以定义一个 noop功能:
scala> val noop = (a: Any) => ()
noop: (Any) => Unit = <function1>

scala> def foo(f: Effect[String] = noop) = ()

关于Scala 空默认闭包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4387293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com