我喜欢这种方式,您可以在 Scala 中编写单行方法,例如使用List(1, 2, 3).foreach(..).map(..)
.
但是有一种情况,有时会在编写 Scala 代码时出现,情况会变得有些难看。例子:
def foo(a: A): Int = {
// do something with 'a' which results in an integer
// e.g. 'val result = a.calculateImportantThings
// clean up object 'a'
// e.g. 'a.cleanUp'
// Return the result of the previous calculation
return result
}
在这种情况下,我们必须返回一个结果,但不能在计算完成后直接返回,因为我们必须在返回之前做一些清理工作。
我总是要写三行。是否也有可能写一个单行来做到这一点(不改变类A
,因为这可能是一个无法改变的外部库)?