假设我们有三个返回Tuple3
的函数:
def foo(a: String, b: String, c: String): (String, String, String) = {
(s"foo_$a", s"foo_$b", s"foo_$c")
}
def bar(a: String, b: String, c: String): (String, String, String) = {
(s"bar_$a", s"bar_$b", s"bar_$c")
}
def buz(a: String, b: String, c: String): (String, String, String) = {
(s"buz_$a", s"buz_$b", s"buz_$c")
}
我可以像这样组成它们:
val (a, b, c) = foo("1", "2", "3")
val (d, e, f) = bar(a, b, c)
val (g, h, i) = buz(d, e, f)
但是我想要像这样的东西:
val (x, y, z) = foo(bar(buz("1", "2", "3")))
我该如何实现这个目标?