関数のリストがあり、それぞれが入力として特定の型を期待し、同じ型の値を返すとします。たとえば、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ライブラリ)がこれを書くためのより良い方法を提供しているのではないかと思いました。
モナド?foldLeft?