假设我有一个函数列表,每个函数都期望某种类型的输入,并返回相同类型的值。例如一个String
.
这些函数的使用方式是链式的:一个的输出是下一个的输入。
def oneTransform(input: String): String = { ... }
def anotherTransform(input: String): String = { ... }
def yetAnotherTransform(input: String): String = { ... }
它可以用在这样的代码中:
val input = "my-initial-input"
val input2 = oneTransform(input)
val input3 = anotherTransform(input2)
val output = yetAnotherTransform(input3)
Scala 有没有更优雅的表达方式?
这是非常不优雅且容易出错的,我认为也许 Scala(或 Scala 库)提供了一种更好的方式来编写它。
单子?向左折叠?